Hola,
Tal vez no asignes al formulario como "padre" del que quieres mostrar. Si lo estás creando tal que así:
Código Delphi
[-]
Form2 := TForm2.Create(Self);
"Self" no será el padre de "Form2", sino su "dueño". Dicho esto... creo que puedes "tirar" de la propiedad "Owner" del formulario que quieres mostrar. Puesto que este sí sería, en este caso, el formulario "dueño" del que quieres mostrar.
Por supuesto, puedes asignar el padre del formulario tras crearlo:
Código Delphi
[-]
Form2 := TForm2.Create(Self);
Form2.Parent := Self;
Y también crearlo tal que así, aunque, no sé qué consecuencias exactamente implica esto:
Código Delphi
[-]
Form2 := TForm2.CreateParented(Self);
Y tampoco recuerdo si de este modo habrías de proporcionar más bien el "Handle" de "Self".