Yes, an unlocked screen is generally needed for UI interaction and screenshots. On Selenium side for screenshots may be browser specific, and at the moment does apply to IE.
For non-VNC, non-RDP solution, probably none exists or not well known. Maybe could be good business product to sell.
Your RDP problem on screen resolution can be addressed by using fixed test machine setup where you have an expected resolution (both client and server side). For screen lock when you close it, can't help that, just be sure that no one other than automation RDP's to the machine on admin/console session 0 (although on non-server Windows OS, it probably matters not, you only get more than additional sessions + admin/console session on server OSes. The admin/console session is the local desktop). For VNC, you could look for a enterprise grade VNC solution. There are multiple offerings, I assume there may be more secure versions you can pay for.
Also, on the VNC side, you could also avoid that if you have a local desktop (monitor, keyboard, mouse) you can access to that machine, then just make sure folks don't RDP to it. You could attempt to secure the machine by not having a monitor, keyboard, mouse connected to it and the ports covered up except when you need access to local desktop. Like if the machines were in a server room w/ restricted access, that could be secure enough to have a local desktop and not run VNC.