in reply to Win32::GUI event model

use Disclaimer qw(IANAGUID, IANAWP); # disclaim gui designer, windows programmer

The method is sound. But your users wont like it. People don't like the Gimp interface for that reason. I can think of applications I hate for that reason too. Generally everyone accepts and expects one parent application class with a monolithic event loop and child windows. You kill it and all the childeren die. Anything that happens in a sub window propagates up to the main loop. Of course its not the only way to do it, but there's reasons for that consensus. For one you avoid inter-process update hell.
Andy