When an exception occurs in the database provider layer, NHibernate has a mechanism for translating it to a common format, the GenericADOException.
This mechanism is disabled when the MySql batcher is used, because this batcher catches the provider exception and encapsulates them in a HibernateException, which is ignored by NHibernate translation mechanism.