I am not sure I agree with you whole-heartedly; it is true that what may seem simple or even trivial to a client may be downright difficult, if not impossible (though nothing is rarely impossible), from a pragmatic point of view.
If you go with the OnPageUnload angle, yes it is unuseable as you would log your user out everytime they tried to do something or navigate your site but, if i was sitting in a client meeting I wouldn't bring this up. It's a moot point.
Since HTTP is stateless you would need to devise a way to keep a "live" connection open to the server and once that connection is closed or broken, you know that the user has navigated away. The caveat to this is: if you keep passing data back and forth between client and server, your session will stay active so, regardless if the user has got up walked away from their pc, and left the office for the evening, your site is still up and this "live" connection is still active and hence the session is still alive. (This doesn't even take into account the bandwidth that would be consumed. Granted it would be a very small transfer but if 30 people did this, you can see how this could effect traffic and potentailly ballon into a problem)
So your problem isn't all together without a solution, it would just be a headache on your part and if the client is still hell bent on having this "feature" after hearing your argument against it well that is what they are paying you for: to provide them with what they want.
Anyway, thats my 2cents, good luck with your client.
================================================== =========
Read this if you want to know how to get a correct reply for your question:
http://www.catb.org/~esr/faqs/smart-questions.html
^^Took that from planoie's profile^^
^^Modified text taken from gbianchi profile^^
================================================== =========
Technical Editor for:
Professional Search Engine Optimization with ASP.NET
http://www.wiley.com/WileyCDA/WileyT...470131470.html
================================================== =========
Why can't Programmers, program??
http://www.codinghorror.com/blog/archives/000781.html
================================================== =========