Zabbix frontend uses a custom error handler to catch all of the error messages and to display them in a pretty way. The error messages are caught and stored in a global variable and displayed using the show_messages() call in page_footer.php:54. The problem is that this is the last call to show_messages(), and errors that happen after it or during the shutdown of the script will not be displayed. They custom error handler will also prevent them from being logged in the PHP error file.
One of the possible solutions is to restore the original PHP error handler after the last call to show_messages() to display and log all of these errors in a default way. It may also be possible to display these errors in a user-friendly way using register_shutdown_function().