|Keep It Simple, Stupid
Thank you for bringing this to my attention. I have developed a solution for this issue and have uploaded it to CPAN. The solution entailed packaging all the CHECK phase code into a subroutine. For regular usage, this will get run during the CHECK phase.
For code run under mod_perl, or code that is loaded at runtime using require, the subroutine will be called when the first object is created.
In all cases, initialization occurs as necessary and is completely transparent.
I was not able to test this under mod_perl, but it works properly for runtime loaded code.
Remember: There's always one more bug.