Warum überprüfst du den Rückgabewert von
DeleteFile nicht? Und guck doch mal was in
SearchRec.Name steht. dann findest du deinen Fehler auch selber.
Delphi-Quellcode:
if not DeleteFile(...) then
ShowMessage(SysErrorMessage(GetLastError));
Und dann guck mal, was da steht.