I don't know if we're talking the same thing, but
is the design that you have in mind similar to
the way that C++ Builder or the way Symantec does
SDI in the Visual Cafe UI? Basically, the app
(by default) starts up as just a menu bar. The
child windows are displayed depending on the user
interaction with the program (i.e. "new project"
brings up a new project window). The "child
windows" are exactly as you describe. If you
click on another window, the child just loses
focus. Click on the main app, and the children
still appear on top. Minimize them and the
child minimizes to the bottom of the main form.
The child windows can move over the entire
desktop instead of being contained within the
frame of the application window.

If this is it, the good news is that it can and
has been done. Maybe you can get a demo (if you
don't have it already) of one of the apps
mentioned. You can see if this is the way to go.

The bad news is that implementation may be very
tricky...

Regards,

Paul McKenzie