I'd also guess that closing the browser should result in a timeout.
Yes I have such a small solution. What I'm doing is that I create a record "CurrentUser" using a LoginNotification. When the "LogoutNotification" arrives then I delete this user. But since I only compare against the LoginName when deleting I'd also delete old instances of that user if there where any.
This simple setup is only intended for seeing who's online and nothing else.