One downside is that you would have to wait for the session timeout before "OnSessionEnd" is called
This would account for the users who dont 'log out' of your application, but just close their browser.
This timeout is something like 20 minutes, from a musty corner of my memory.
This could cause a problem because you might hit your 'connection limit', even though no-one is actually "using" your application! (i.e. they all log in and then simply close their browser)
B.