Mike,
>Why would you possibly want to subclass a session class? It has one purpose, and one purpose only, to create a datasession when you need it. If you want a datasession with code attached just use a form instead. Having it as a PRG only cuts down on overhead.
I have a "base" class defined as Session that I call "webdata". It includes many generic data-handling methods and properties and Pre- and Post- hooks, such as BeforeSave, AfterSave, etc.
Many of the methods have all of the functionality needed for specific business objects based on this class, but other methods will differ from one business object to another.
Your view of the session class seems to be pretty narrow, and you seem to argue that a form is superior if you need code. Doesn't make much sense to me.