Спасибо тебе, SKVOZNJAK, давно так не смеялся.
Ответы даны. Ответы хорошие и полные. Я бы и молчал, да вот вспомнил, что водной из стаааааарых книжек про писанину под DOS был предложен такой вариант рестарта :
1). Меняется текущий диск/каталог на тот, в котором находится сам Exe-шник.
2). В буфер клавы забивается имя EXE-шника.
3). Выходим из программы НЕ ЧИСТЯ этот самый буфер.
Почти всю необходимую инфу можно извлечь из ParamStr(0). А сам метод смешной. Почти как и предложение SKVOZNJAK'а