Die Batchdatei kannst du aber nicht mit Adminrechten starten und deshalb wird bei einem richtigen Programm, das unter c:\programme liegt, das nicht klappen (es sei denn man pfeift auf Sicherheit und arbeitet als Admin und unter Vista mit deaktivierter
UAC, arbeitet also als Virensammler^^).
Wenn es sich natürlich um ein portables Programm
ausschließlich für den USB-Stick handelt, dann brauchst du auch mit deinem Delphiprogramm keine Adminrechte.
Dann reicht es die eigene Exe während sie läuft umzubenennen, die neue an die Stelle zu setzen und diese mit dem Parameter zum Löschen der umbenannten alten zu starten.
Das wäre für ein normales Programm nicht für den USB-Stick aber Blödsinn, genauso wie eine Batchdatei.