Table 'watchdog' was not locked with LOCK TABLES on custom module
This won't work with the current code. It is not the reporting that is the problem, but the implementation of locking.

From mysql lock tables reference


  A session that requires locks must
  acquire all the locks that it needs in
  a single LOCK TABLES statement. While
  the locks thus obtained are held, the
  session can access only the locked
  tables.


You are trying to access unlocked tables while holding a lock.

I can't say that I have used it in the wild but there is a Drupal specific  locking mechanism that you may want to look at instead.