Hola escafandra, he probado tu codigo (delphi 2010 y windows 7 64) y

no mueve las hijas por que no detecta bien el nombre de la clase en
Código Delphi
[-]
if Application.Components[i].ClassName <> 'TForm2' then continue;
Solo ve las clases THintWindows y TForm1
Si lo comprueba con "if Application.Components[i].Unitname" solo ve Controls y Unit1.
Es como si para la aplicacion no tuviera los formularios creados en tiempo de ejecucion
En Application.ComponentCount siempre tiene le valor 2, aunque cree 10 ventanas "hijas"
¿Sera algo del compilador o se puede comprobar de otra manera?
Saludos.