When an warnings is converted into an error because of the strict sql_mode, this conversion happens inside THD::raise_condition. And my_message_sql is not called, so no audit events are generated for this error.
- generate audit events from THD::raise_condition (then they won't be generated when thd == 0)
- always invoke my_message_sql for every error
- some other way to make sure that all error processing code is invoked for any error