I started noticing that Mono 2.6 (latest stable version) and Mono 2.7 (latest trunk version) both wouldn't execute the create session factory code in NHibernate 3 (latest SVN), dying when it attempted to compile HBM mappings.
A brief search around the JIRA pointed to this poorly done ticket -- http://216.121.112.228/browse/NH-2270 I was able to reproduce this issue consistently with NH3 on Mono. I thought this was a problem with Mono, and was going to submit a ticket with them, but I came across another ticket, http://216.121.112.228/browse/NH-1865, which indicated that Mono was more strictly following the .NET documentation than Microsoft's implementation for the XML serializer. After verifying this to be the case, I've submitted a patch that resolves the issue. I hope this can be applied as soon as possible, because right now NH doesn't work on Mono.
