Das ist zwar keine Lösung des wirklichen Problems, aber Du kannst den Fehler fangen.
Doch schon, aber ich wollte es so lange wie möglich ignorieren. Wenn man die Fehlermeldung abschaltet, ist der Fehler ja immer noch da. Falls das Schreiben der Datei tatsächlich nicht klappt, die wird doch sicherlich von Windows ausgelesen, wenn die Jumpliste angezeigt wird.
Allerdings scheint es zu funktionieren. Selbst wenn der Fehler auftritt landet wohl alles was soll auch in der Liste. Sie soll ja sowieso nur funktionieren, so lange das Programm läuft, vielleicht hat Windows dann alles im Speicher. Mit Bauchschmerzen wäre es eine Lösung. Falls die zu stark werden kann ich es ja immer noch in C# umschreiben. Dabei wollte ich nach fast zwei Jahren mal wieder etwas mit Delphi machen.
Also Danke an alle, die versucht haben mir zu helfen.