Das Programm mittels Halt zu beenden ist nicht die beste Wahl.
Besser ist es den
Mutex im .dpr file zu platzieren und dort einfach die "Application."-Zeilen in ein if einzuschliessen.
Wenn Application.Run nicht aufgerufen wird, dann macht das Programm auch nichts.