I think this approach has promise. I started with a sample NHibernate layer for CSLA in which a common base class was inserted below each of the CSLA main entity classes (e.g. BusinessBase<T>, BusinessListBase<T>...).
In my case, I decided to use a different ORM (Wilson ORMapper), mainly because NHibernate doesn't allow native SQL to be used and generated parameters in a fashion that would cause server optimization problems (e.g. different parameter names on each object invocation, causing queries to not be found in the cache).
Still, I found it a straightforward process and have CSLA cooperating very nicely with the ORM. I can try to dig up the original source code for the layer classes if you are interested.
It turns out I started with the Csla.NHibernate classes in the project tracker sample:
They were pretty easy to translate to use a different ORM (other than a minor factory issue -- NHibernate lets you populate an object created by someone else and my ORM doesn't).
Copyright (c) Marimer LLC