Also um das was Luckie gefragt hat nochmals zu verdeutlichen:
Delphi-Quellcode:
procedure checkErrorDeleteFile(const path : string);
begin
SetLastError(0);
DeleteFile(path);
ShowMessage(IntToStr(GetLastError));
end;
Anschließend kannst du
hier nach dem Errorcode der in der Messagebox angezeigt wurde suchen, dann weißt du was das Problem ist in der Regel.