Erstens: inkompatible Typen hieße, dass du auf PChar casten musst. Eigentlich ist DeleteFile allerdings eine Funktion, die einen String erwartet, da sollte das nicht passieren, es sei denn du hast in der uses die Reihenfolge geändert.
Zweitens: Wie wäre es, wenn du einmal schaust, was der Fehler 32 z.B. bedeutet?
Zitat:
The process cannot
access the file because it is being used by another process.
(Entweder hier:
http://msdn.microsoft.com/en-us/library/ms681382.aspx oder via SysErrorMessage im Programm)