Lo único que se me ocurre es que no uses ShowModal. Cuando FormX abra un formulario "modal", en lugar de usar ShowModal lo muestras con Show pero inhabilitas FormX:
Código Delphi
[-]
with TFormaModal.Create(nil) do
begin
Self.Enabled := false;
Show;
end;
De esta manera FormX quedará inhabilitado tal como sucede al usar ShowModal pero el resto de la aplicación continuará habilitado. Claro que debes asegurarte que al cerrar FormaModal vuelvas a habilitar FormX.
// Saludos