Поддерживайте согласованность базы данных, сохраняйте ссылочную целостность.
Если инструмент, который вы используете, в результате ломается, то это неизбежно. Однако, если вы потеряете ссылочную целостность для использования nhibernate - что произойдет, если вы решите использовать другой ORM? У вас будет изворотливая база данных, и кто скажет, что следующий ORM в очереди понравится?
Это похоже на вопрос разделения проблем, каждый кусок вашего приложения должен быть достаточно надежным, чтобы выжить, если другой блок был изменен или удален, так что не изменяйте хорошую практику работы с базами данных, просто чтобы сделать продукт слой выше, играть красиво.