Con la siguiente función averiguamos si el formulario pasado como parámetro se está mostrando "modalmente" o no:
Código Delphi
[-]
function EsFormModal(frm: TCustomForm) : boolean;
begin
Result := false;
if Assigned(frm) then
Result := (fsModal in frm.FormState);
end;