To ti nepomůže. Application.Terminate je procedura, z jejíhož volání se to musí vrátit. Sice se volá API funkce PostQuitMessage, ale všechno se musí dodělat a nastaví se jen příznak Application.Terminated, který se testuje uvniř smyčky zpracování zpráv - a tam se musí řízení programu vrátit po poctivém dodělání všech procedur - takhle to vypadá uvnitře Application.run:
repeat
try
HandleMessage;
except
HandleException(Self);
end;
until Terminated;
Až se provádění programu vrátí do smyčky zpracování zpráv (uvnitř Application.Run), pak se to může ukončit.Při programování řízeném událostmi (např. zprávami Windows) a v objektovém programování Delphi, nelze tak jednoduše programově aplikaci ustřelit pod prd*elí.