Instead of catering to their bad behavior use negative reinforcement to teach them better behavior. "If you delete the file and can't recover it then YOU will type the document back in, in addition to your regular tasks"
I have business class cable service and get preemptively blocked by an "anti spam" organization because it's IP address is on a cable block. There are better ways to prevent spam but it's profitable for ISP's so they don't care. Unless we start a class action lawsuit I doubt there's much that can be done about it.
NHibernate's implementation might be fine for Java but sucks for Desktop applications. Instead of paying the cost of parsing the object mapping files once (when the web server is started) you pay for it every time you start your application. It also guarantees that your efficiency is awful because of the way it's designed. Do yourself a favor and use something else.