Hallo,
Du könntest einen Timer auf Dein Formular setzten, der regelmäßig prüft,
ob ein Fenster, dass mit ShowMessage oder so erzeugt wurde existiert.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
wHandle : hWnd;
begin
wHandle:=FindWindow('TMessageForm',Nil);
If wHandle<>0 then
PostMessage(wHandle,WM_CLOSE,0,0);
end;