Klingt, als würde er eine Ebene zu hoch springen, bzw. als würde sich die Funktion eben einmal zu oft aufrufen. Muss dein Programm auch unter anderen
OS laufen oder nur unter Windows? In dem Fall würde ich kurzerhand zur bekannten Explorer-Löschfunktion (SHFileOperation) greifen. Da dürfte so ein Problem nicht auftreten, und du kriegst auch noch ´ne schicke Statusanzeige.