Yeah. Good questions. Using deprecated code is not a fatal thing so we can do the following:

1. It should be logged.
2. Additionally in debug mode display it as error (not sure if exception should be thrown but file/line should be dispalyed along with the code itself).

Not sure about `error_reporting`. In my opinion it is often misused by lazy developers to avoid doing `isset` so inability to do so will irritate them but the fact is that notices in PHP are often as important as warnings. Personally I'd remove ability to affect error reporting and set it to the strictest possible.