Solange zum Zeitpunkt des Task-Wechsels nur ein Kindfenster offen war würde das funktionieren. Sobald aber mehr als ein Kindfenster offen war ist das Ergebnis, welches davon mit dem OnActivate kommt mehr oder weniger zufällig. Es kommt weder die Öffnungs- noch die Erstellungsreihenfolge zum tragen. Es ist wie gesagt ein altes Problem mit dem sich zu D5-Zeiten viele Coder rumgeschlagen haben. Ob das inzwischen bei neueren Versionen besser gelöst ist kann ich nicht sagen da mir solche "Kleinigkeiten" nie genug Anreiz waren, auf ein anderes Delphi umzusteigen