Ich habe so etwas ähnliches für die Anzeige des aktuellen Anrufers gemacht und so gelöst, dass mein Formular erst gar kein Fokus erhält, so dass das aktuelle Fenster auch keinen verlieren kann:
Delphi-Quellcode:
procedure DoShowWin;
begin
ShowWindow(fmShowAnrufer.handle, SW_HIDE); // falls das Fenster noch da ist erstmal weg machen
fmShowAnrufer.Hide; // falls das Fenster noch da ist erstmal weg machen
fmShowAnrufer.Show;
ShowWindow(fmShowAnrufer.handle, SW_SHOWNOACTIVATE);
end;