Hi Sam,
Are the Windows font smoothing disabled from both production and dev Runtime Resources?
How do you perform the login for the VM when you are running the process over debugger? If you are using RDP connection, you are passing settings from your own local device such as the screen resolution and the font smoothing when creating the session. This might be the reason why the surface automation is working normally with RDP connection. When scheduled with Login Agent, the VM is using it's own settings which may differ from your dev environment.
I would validate the production VM settings over VNC, Bomgar or other tool which you can use for monitoring the local VM session.
Hope this helps,
Juho