Hola María.
Se me ocurrió recién, que alguien podría mover o borrar la aplicación externa que se va a ejecutar, por lo que este agregado sería necesario para que Form2 no quede abierto y sin contenido:
Código Delphi
[-]
...
Form2:= TForm2.Create(Self);
Form2.Show;
FhWnd := ExecuteApp('calc.exe');
if FhWnd <> 0 then
begin
...
end
else
begin
Form2.Close;
raise Exception.Create('Error al iniciar la aplicación');
end;
...
Saludos.