On a different note, the app server framework I developed supports dynamic loading of modules when they change (not going through Apache::Registry), thus eliminating the restart problem.
Why not just use Apache::Reload or Apache::StatINC? They accomplish exactly the same thing as you describe above. A:Reload also allows selective reloading of modules IIC. But they also have the advantage of having been around a while & well tested. Is there something special your module does? I love to reinvent the wheel myself, but sometimes it's better not to do so. :-)