Bei
Luckie gab es irgendwo ein, MessageDialogTimeout (oder so) auf der Webseite und einen Post dazu sollte man hier auch irgendwo finden.
[edit] siehe
MessageBoxTimeout
Und nein, MessageDlg blockiert nicht komplett, denn die MessageLoop läuft brav weiter (Application.ProcessMessages), womit z.B. ein vorher gestarteter Timer dennoch auslösen würde.