The ASP.NET Session_Start event that you can work with in Global.asax will fire once the current session starts, and will have a default timeout of 20 minutes. For more information you might check this article
on MSDN. While the session is active, the Session_Start event will not get fired, so the only value you can store in that event is either on initial start of the session, or once it expires, and starts again. This looks like a convenient tool for the use case scenario you want to implement, so for example you can do:
and then retrieve this value wherever you need it, for example
On the other hand, if you need to set different querystring upon each request you might want to consider hooking up to Application_BeginRequest which gets fired every time a request is made.
All the best,
the Telerik team
Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking
system and vote to affect the priority of the items