In Server, I don't think we cancel an in-flight query unless it exceeds the querytimeout value that an admin has set. This sounds like a feature request to me. You might want to post same in the "Ideas" section - but you'll really want to quantify the actual impact to usability on your SQL Server. Everyone likes to keep their servers pristine, but a few users doing this aren't going to impact your server much one way or the other unless they're firing really expensive queries - and then it's the DBA's job make 'em clean up their SQL
SQL Server does listen for "attention events" - the client telling to do something, like cancel a query. So this is completely possible.
I'm not really sure clear_session_on_unload will help you here, because I've noticed that even when the sucker is turned on, I never saw sessions getting cleared up immediately upon the browser getting closed...It always seemed like this stuff would happen a minute or two later - which is an eternity for query execution
Have created an Idea here. This is definitely in the interest of most folks who has a DB connection to their books. If you like to increase performance of your architecture (by avoiding overheads and unnecessary ), please take a moment to vote up.