Yo hace tiempo intentaba saber lo mismo!
Al final me las arreglé con un poco de astucia y ate con alambre.
Lo que hice fue crear en cada form una propiedad llamada LLAMADOR del tipo Tform.
cada vez que voy a crear un form ya sea de un boton o menu luego de crearlo le paso el valor a llamador que será el Form Actual.
Por ejemplo si tienes un Form 1 que puede llamar a demas forms y quieres saber a quien devolver el foco.
Cuando desde form 1 creo al Form3 le paso en la propiedad LLAMADOR el valor FORM1.
Luefo desde form 3 preguntas si LLAMADOS = FORM1 y haces lo que quieras.
O si quieres al cerrar Form3 preguntas si llamador = Form1 le devuelves el foco o haces lo que quiera.
Yo directamente lo que hacia al cerrar era maximizar llamador ya que es una variable Tform encontes solo le decia LLAMADOR.WINDOWSSTATE := MAXIMIZED; y listo.
Espero que te sirva mi ayuda aunque no se que era lo que buscabas