Du übergibst als
Handle 0. Probier' da mal Application.Handle, damit der Verweis nach dem Aufruf nicht offen bleibt. Denn Shellexecute gibt ja das
Handle zurück an den Parent und der ist nicht 0. Kann sein, daß Dein Programm aber auf die Rückgabe wartet und sich deshalb nicht schließen läßt.
Grüße, Messie