I am using castle windsor and the session per web request pattern to manage NHibernate sessions.
As all commits are flushed at the end of the request, you lose ability to display an appropriate referential integrity error messages on the current page when doing deletes – if there is a ref integrity issue.
Not sure how others are managing this scenario, but I display all related issues to an action in the current view.
Generally those sort of issues should be caught ahead of time by your validation and model layers. Do not rely on the database to tell you if something is wrong. DB is the last resort for that.