Не уверен насчет NHibernate, но Hibernate зависит от другого кода, например, c3p0 для пула соединений и других сервисов, связанных с соединением. Поэтому, если соединение потеряно, то этот диспетчер соединений должен выдать какое-то исключение, которое, вероятно, будет упаковано, как предположил Джейми.