Der sagt nichts, denn Umgebungsvariable werden von diesen Funktionen nicht übersetzt.
d.h. die Umgebungsvariable wird als Verzeichnisname angesehn, womit das ganze dann eine relative Pfadangabe wäre.
Das Resultat: die angegebene Datei existiert einfach nicht und kann demnach nicht gelöscht werden.
Lösung: du mußt die Umgebungsvariablen selber übersetzten!
(ich hatte mir dafür mal 'ne Funktion geschrieben ... mal sehn ob die noch existert)