Um. Lets have a look at that code, shall we?
If(!Session.IsNewSession)
{
...
}
else
{
if(Session["MyVariable"] !=null)
{
...
}
}
So, you only directly try to use the Session variables if this is a new Session? When teh variables will default to null? And you are surprised that they are null...