HI James
Ok I think I understand, basically you want to create a model that matches the nhibernate xml and then serialize that to the xml in 1 big hit. A very grand plan indeed.
Maybe I'm missing the point at the moment, but bear with me. As far as I can see this is our current situation, the fluent interface generates all the xml in the IMapping.Write function, mainly from a mixture of values that where stored in the various dictionaries on the object but occasionally using some lambda reflection magic.
In my brain the means we have a poor internal model in the many dictionaries, so if we replace these dictionaries with an improved class model and move the reflection magic to a more appropriate location. Then jobs done - I making it sound easier than it probably is.
Whats more if we can maintain compatibility by not breaking the external fluent interface then we can proceed with out breaking AutoMapping or conventions. If we can keep the interface method for IMapping.Write to generate the xml, potentially this could be a small transition on a class by class basis rather than a full rewrite.
Hope this makes sense it's hard to explain this kind of stuff by email.
Andy
Disclaimer: I've not looked at the code, just read the changelog and the blog, so you may of done all this anyway.