Honestly, I've tried to figure this one out and I just can't. The session expiry system is 100% based on the server, and the php session information.
Basically, the way it works is like this:
1) When you run any page in snippetmaster, it creates (or updates) a "PHP session".
(The "php session" is a file that exists in the temporary location of the web server, and contains info (encrypted of course) about the user, if they're logged in, what permissions they have, etc.)
2) Each time you run a page in snippetmaster, it updates the "timestamp" of the session file.
3) The server runs a "garbage collection" process every 25 - 30 minutes or so, and deletes any session file from the temporary location that haven't been updated for the last 25 - 30 minutes.
4) If snippetmaster runs a page, and the "session file" that it expects to be there is gone (it was deleted), then it displays the session error. (ie: If you leave snippetmaster for a while, go have lunch, and then come back, the server will have deleted your php session file.. and so snippetmaster won't be able to find it any more and it displays the error.)
This has absolutely nothing to do with the browser. The browser, in fact, has no permissions or ability to touch session files on the server, which are located in the server's temporary storage area, outside of the browsers "reach".
This is why I'm very confused about this... because for this error to occur, the session file needs to be deleted, etc.. and the browser should not be able to do that.
I'm totally open to ideas on what is causing the problem.. but unless the web server is really poorly configured from a security perspective, there should be no way that the browser is causing the session file to be deleted and triggering the error.
But... obviously something is doing it, otherwise you wouldn't see the error.
All this to say... I have no idea.