Ich bin mir jetzt nicht ganz sicher, aber findet FileExists tatsächlich auch alle Dateien, inkl. versteckten usw.? Ich meine mich dunkel zu erinnern, daß es in verschiedenen Delphi-Versionen verschieden war, möglicherweise liegt hier auch der "Fehler".
Datei existiert, FileExists übersieht sie lediglich, wäre jetzt meine Vermutung. Kann man evtl. vorher bei den Dateizugriffsbefehlen noch Variablen ändern, die von der Unit bereitgestellt werden und die Befehle beeinflussen? Bei mir ists leider etwas her, bin grad erst dabei, meine Delphi-Sachen wieder aufzufrischen.
----
Edit
----
So, auch wenn ich jetzt vielleicht erschlagen werde, aber: Könnte es sein, daß hier das Windows-Roaming zuschlägt? Das heißt, beim FileExists z. B. ist es aktiv, beim Rewrite dann aber nicht? Und dann handelt es sich physisch gesehen um 2 verschiedene Pfade, und das könnte dann auch eine Ursache für diesen eigenartigen "Fehler" sein. Im Übrigen habe ich ein altes Programm auf meiner Festplatte gefunden, wo ich auf das Problem gestoßen bin, daß ich mit NTFS-Berechtigungen kollidiert bin. FileExists meinte, Datei existiert nicht, Rewrite hat mir dann genau einen solchen Fehler um die Ohren gehauen (lt. meinem Kommentar im Programm genau diesen Fehlercode). Man sollte meinen, in so einem Fall gibt es einen anderen Fehlercode (Zugriff verweigert), aber weil die Datei bereits existiert, kommt es beim Versuch, diese Datei neu zu erstellen, tatsächlich (nachvollziehbarer Weise) (unter XP) zu ebendiesem komischen Verhalten.