<p>Can anyone suggest some references or other resources that are useful in learning MCML?</p>

<p>I have a small pet project I have been working on for a while using C# and .Net 3.5. I have reached a point where I want to be able to send output from it to Windows Media Center, but I have been having a hard time finding coherent explanations of how to create MCML elements to represent my C# data objects.  Particularly I am having  a hard time finding information on creating an MCML element for each element in a C# collection.  Any suggestions?</p>

I suggest checking out (and contributing to) these three implementations of appengine sessions before rolling out your own:
app-engine-patch
gaeutilities
gae-session
Your options look fine but choosing between them probably depends on the size of the session data in your application.