в таком случае вызывайте дочернюю форму из отдельного потока. Если вы делает вызов прямо из потока основной формы - управление в любом случае вернется к прежнему потоку и сделает основную форму активной.
Ну или навешивайте перед вызовом дочерней формы на родительскую обработку события Activated, если не страшно возвращаться в в поток вызова