Я бы не открывал и не закрывал сеансы при каждом запросе данных в NHibernate. Я хотел бы использовать библиотеки Unit of Work, которые предлагают многие другие, или читать дальше. NHForge.org только начинается, и я полагаю, что есть некоторые практики по настройке NHibernate для общего веб-приложения.
Одним из самых интересных моментов, которые я получил от NHibernate, было использование возможности ленивой загрузки коллекций во время разработки. Это был замечательный опыт - не нужно было выполнять все эти объединения для отображения данных по некоторому связанному объекту.
При таком закрытии сеанса описанный выше сценарий будет невозможен.
Возможно, что-то происходит и с транзакциями.