du könntest das Programm einfach per ShellExecute nochmal starten und sich dann schließen:
Delphi-Quellcode:
ShellExecute(0, 'open', PChar(ParamStr(0)), nil, nil, sw_show);
close;
Oder was ich für sinnvoller erachte wenn du Objectorientiert gearbeitet hast: Gebe das Object frei und instanziere es neu.