I don’t know how old this is, but I just ran across it and found it interesting.
http://nhprof.com/Learn/Alerts/DoNotUseImplicitTransactions
What this means, in a nutshell, is that we should always use an explicit transaction, even when doing a simple select. The article explains why, but as a heads up, it has to do with how NH handles first and second level caches.