Vamos por partes, ShowModal es una función no una propiedad. Y cualquier función que declares dentro de una clase se comportara de la misma manera.
Es decir si yo declaro esto:
Código Delphi
[-]
type
TMiClase = class
public
procedure MiMetodo;
end;
procedure TMiClase.MiMetodo;
var
i: integer;
begin
for i:= 0 to 15 do
begin
Windows.Beep(500,100);
Sleep(100);
end;
end;
var
MiClase: TMiClase;
begin
MiClase:= TMiClase.Create;
try
ShowMessage('Inicio');
MiClase.MiMetodo;
ShowMessage('Final');
finally
MiClase.Free;
end;
end;
Veras que el mensaje fin no aparece hasta que termina la "MiMetodo".