Mit der Selbstlöschung hielt ich für machbar, da das damals mit einer EXE des QBasic Compilers noch wunderbar ging. Vermutlich war das mit den DOS-Dateien anders - die wurden wohl einfach in den Speicher geladen und anschließend waren sie bei Ausführung nicht mehr offen - so meine Vermutung.
Ich weiß nicht sicher, ob Folgendes funktionieren würde: Eine gerade ausgeführte Datei ist ja geöffnet, weshalb sie sich nicht löschen lässt, richtig? So, nun könnte die Anweisung zu löschen doch direkt an Windows gesendet werden - also als Anweisung wie in der Eingabeaufforderung. Das Gute ist, Windows scheint einen Lösch-Befehl kurz in einem "Puffer" zu halten, wenn er nicht sofort ausgeführt werden kann. Das habe ich schon gemerkt, wenn ich eine noch geöffnete Datei löschen möchte - die Fehlermeldung kommt nicht sofort - es vergehen noch ein paar Sekunden. Wenn ich die Datei schnell schließe, löscht er sie noch, obwohl der Befehl noch bei der geöffneten Datei abgegeben wurde. Deshalb denke ich, könnte das dann auch in diesem Fall klappen. Die Anweisung wird an Windows gesendet und das Programm geschlossen, die Datei kann nun gelöscht werden.