Unfortunatly I dont have up to date documention that I can point you to, the only documentation that I have is over 6 month old, which I hope to update at some point.
So as far as reference I would suggest you to download full lateset source code and look thru test cases. Thats where I try to cover different usage scenarious.
I hope one day I will have some time to update documentation or may be some help with that.
As far as conditional compiling.
I am trying to follow MSFT article about best practice for multi platform support and I already did some work about it, to seperate logic for different platform into differnt partial classes.
So I guess the main convention I would like to follow is to create platform specific partial classes where platform specific code will be placed.
So for example I already have Session.NET.cs, Session.NET40, Session.NET35, Session.Silverlight.cs and Session.WP7.cs.
Currently Silverlight and WP7 are not implemented but simply a placeholders.
I saw you submitted a patch so I will review it and try to merge those changes accordingly and update Silverlight and WP7 projects in the solution. I currently excluded them.
Hope it answers your questions,