Delphi-Quellcode:
constructor TForm2.Create;
begin
inherited Create(Application.MainForm);
// ...
end;
Da haben wir schon den Übeltäter! Übergib mal statt Application.MainForm nur Application. Das sollte dann schon funktionieren.
Ursache: In Delphi 5 werden bei in IsShortCut nur die ActionLists des Forms abgefragt, während bei Delphi 11 (und zig Versionen davor) rekursiv alle Components und deren ActionLists abgeklappert werden (ergibt bei Frames auch Sinn). Da hier die TForm2 & Co. Instanzen eine dieser Components des MainForm ist, nehmen auch deren ActionLists an der ShortCut-Verlosung teil. Dabei gewinnt dann eben das als erstes erzeugte Form.