experimentiere doch mal ein wenig mit Show und ShowWindow im vergleich.
Ich hänge Dir mal ein "schell-mal-dahin-geklatscht"-Projekt an. Dabei habe ich bei ShowWindow vermieden WinMain aufzurufen und somit nicht die Vorgaben aus der
IDE aufgerufen.
Wenn Du nun Deine Form über ShowWindow aufrufst wirst Du bemerken, dass Du sie mit einem normalen Form2.Hide nicht wieder verstecken kannst.
Nach einem Klick auf den Button für das normale Delphi-Form.Show kannst Du das Form auch wieder normal verstecken. Wenn Du nun z.B. Form2 noch mal mit ShowWindow aufrufst wirst Du Dein erwartetes Ergebnis erhalten, aber dennoch immer mit Focus, obwohl ich es als nicht aktiv aufgerufen habe.
Du wirst Dich mit ShowWindow also vollkommen selbst um Deine Fenster kümmern müssen. Daher verwende ich ShowWindow nur wenn ich von außerhalb über das
Handle auf eine Form einer App zugreifen muss.
//Edit: Ich denke mal, so ähnlich wie es beim Anklicken der Buttons mit Delphi-FormX.Show realisiert ist, möchtest Du es auch gern haben.