I think I have now solved this, although I'm not entirely sure how.
I reset the computer account in AD and then removed and readded the server to the domain.
I'm now able to connect to the server remotely, the full desktop loads instead of just getting a blank grey screen.
After testing I am still unable to log in locally to the server with my domain admin account, but other domain admins are able to. So I'm guessing the problem is with my user account and not the server.
Thanks to everyone for their suggestions.