Apache::Reload doesn't always work too. two scenarios
...I use Apache2::Reload myself for my development box. There's an extra scenario you missed out:
1. If you change the inheritance of the package, you'll get an error too.
But having said that, I find Apache2::Reload very handy for easy and quick development.