You might also consider an alternative to sending an email -- perhaps a tool that simply updated a web page somewhere with some metrics. That would be less troublesome than sending emails in my opinion.
That was my first thought when reading this as well.
On the other hand, you would really also want to be notified when the idle time ends, or you're liable to connect up when the person is back from his snack break.
Bingo! This is really trying to solve a people problem with technology me thinks.
One thing that would help is if we knew what technology is being used for the connection RPD, or VNC. With VNC you can see the user's movements and the user can see their wallpaper change/disappear (assuming they're paying attention). RDP is an all or none which will pull the session away from the user...but they have the option of just taking it back as well.
Mitigating options are first and foremost explaining the situation to the user so they know what to look for when support logs in ... and how to signal them that now's a bad time. If the user agrees to log off when not using/needing the machine, and you use a separate support acct to log in with RDP then the system will flag you that someone else is currently logged in eliminating the guess work. I share access to a machine with several other vendors at a client using this method.
If you are using RDP and the users accounts to access the machines, then just have them take the session back and text/email you at that point with give me 20min or an hour to do X. This has worked well for me while managing several hundred machines for quite a few years now. And annoying as it may seem...people seem to appreciate the human touch afforded by a direct interaction to the hit or miss nature of assumptions required by automation.