EDIT: We realise that the sessions we're reviewing at the moment are inproc, and that's absolutely fine. The question, in a nutshell, is are the sessions active as reported in the inproc counter reliable as they are delivered? Or can they look higher than they actually are for any reason (I read a piece about it appearing to be in the region of 400 million or something due to the installation of ASP.Net 3.5 but I'm not talking that high).
At my place of work we're trying to ascertain how many people have an active session on a moment to moment basis as the number of active sessions is the trigger for a piece of load balancing software that activates an appliance. We're looking at the Asp.Net Apps "Sessions Active" Counter and it seems to be giving some slightly odd readings when we compare how many people appear to be browsing our site versus how much business we're actually doing. It is possible, for example, to register only 1600 active sessions but be selling items roughly every two minutes or, like this morning, to top 3000 active sessions but only be making sales every 15 minutes.
It is entirely possible that we just have a lot of lurkers but to be sure I wondered if anyone knew how this counter actually arrived at its figures and whether it is susceptible to any kind of false positive behaviour. I've been keeping an eye on the perfmon figures for a couple of hours now and the sessions active has veered between 3100 and 2700 but in all that time we've made about ten actual sales. Should we be taking it as gospel that we just have a lot of browsers?
Well, assuming you're using In-Process session-state mode, first of all, I'd like to suggest you to switch to SQL Server or State Server modes since it seems you need a good active sessions' tracking.
As I stated in a comment in your answer...
If it's in-process, if IIS app pool is recycled, IIS is reseted, or even Windows is rebooted, in any case, session won't survive, while SQL Server or State Server (or a custom one) will recover sessions after any of these actions.
... by using suggested modes, you'll be able to code some session tracking since, for example, SQL Server mode stores sessions in some table that can be queried in order to be sure what's going and in real-time.
I've no experience with State Server and I don't know how to retrieve sessions from it but it should be possible.
Speaking about SQL Server mode, I successfully could do scheduled maintenance so I could drop phantom sessions, check actual sessions which did some action last X minutes (meaning they're active...), and so on.