Ich meine, dass es sich hier um ein spezielles Fehlerverhalten von Delphi 6 handelt. Bei Delphi 2007 ist das Verhalten wieder anders. Deshalb würde ich diesen workaround mit Vorsicht genießen.
Ich würde da mal folgenden Ansatz in die Diskussion werfen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
{$if RTLVersion<18}
windows.SetForegroundWindow(Application.handle);
{$ifend}
Application.MessageBox('Hello', 'IMPORTANT NOTICE!', MB_OKCANCEL);
Application.MessageBox('2nd. try', '2nd. IMPORTANT NOTICE!', MB_OKCANCEL);
end;