Wird da vielleicht der Windows Defender verwendet? Der hat so ein tolles Feature namens "Controlled Folder
Access". Das würde das Verhalten erklären.
Andere Antivirenprogramme sorgen bei verdächtigen Prozessen für ein verzögertes Schreiben, so dass es vielleicht einfach nur eine gewisse Zeit dauert, bis die Datei für andere Prozesse verfügbar ist. McAfee und Sophos machen das z.B. soweit ich weiß. Da sollte es reichen, testweise den Schutz zu deaktivieren oder den Prozess als sicher zu markieren.
Um auszuschließen, dass das Caching zuschlägt, solltest du nicht nur FileExists verwenden, sondern vorher FindFirst aufrufen bzw. die Existenz direkt damit prüfen, um eine Aktualisierung zu erreichen. GetFileAttributes (das intern in FileExists verwendet wird) nutzt ggf. Daten aus dem Cache.
In jedem Fall sollte der schon erwähnte Process Monitor helfen.