No, I think you're right, though if you plan to find and fix every forking bug in CPAN you certainly have your work cut out for you. And regardless, defensive programming would mandate that you check for the fork condition in your calling code.
It would be interesting to take this to the perl5-porters list and see their take on it.
Comment on Re^3: forked die() in eval block has counterintuitive behavior?