I\'ve created a form that hosts one or more \'child\' forms. In my edit mode, each child form shows its border and caption bar allowing it to be moved and sized (a bit like
Call Windows.SetFocus(Form.Handle) which is somewhat more forceful than TForm.SetFocus. Specifically Windows.SetFocus will focus and activate a form that is inactive which I suspect is your main problem.
Having more than one form active feels wrong.
Finally, did you consider using MDI? It still works.