No olvides poner las etiquetas de código para que éste sea legible.
Lo que bloquea tu APP es FrmAuxialiar pues éste bloquea los mensajes de la App.
Mira esto:
Código Delphi
[-]
procedure THilo.Execute;
begin
FreeOnTerminate := True;
while not terminated do
Synchronize(FrmAuxialiar.MostrarCargando);
end;
procedure TFrmAuxialiar.MostrarCargando;
var
i:integer;
begin
i:=1;
Show;
While i>0 do
begin
Application.ProcessMessages;
i:=i+1;
end;
end;
Este ejemplo es un tanto absurdo pues el bucle del thread llama repetidamente a un método de un formulario que presenta un bucle infinito con lo que el bucle del Thread se ejecuta sólo una vez...
El método Execute del thread no tiene porqué tener un bucle, en ese caso termina cuando termine Exectue. Tu decides lo que tiene que hacer.
Saludos.