Das Problem ist doch so wie ich beschrieben habe. Du öffnest die Datei mit einem FileStream und liest dann Daten ein. Solange der FileStream existiert ist die Datei gesperrt und kann weder gelöscht, noch ein weiterer FileStream zu dieser Datei geöffnet werden. Setze einfach mal zwei Haltepunkte in der Procedure. einmal beim "TFileStream.Create" und einmal in beim FreeAndNil .
Wenn du jetzt das Prog startest, wird ja irgendwann am ersten Haltepunkt angehalten. Das Ereigniss wurde also ausgelöst. Wenn du jetzt mit F9 fortfährst sollte er als nächstes am Ende halten. Wenn das passiert ist alles korrekt.
Es kann aber auch passieren, dass er wieder in der ersten Zeile anhält und genau dann wird das DeleteFile und TFileStream.Create krachen. Die Prozedur wurde ja noch nicht beendet und der Filestream dementsprechend noch nicht freigegeben.
[edit]
oh shitt, warum kann ich den Beitrag nicht mehr löschen
[/edit]