I get this one regularly at work now when one of servers crash. It seems that their logon session remains connected and won't reset. There are plenty of solutions out there, but none worked for me until I found this one - so simple!
Run command prompt on the relevant server the user is having an issue with, and use the 'query process winlogon.exe'
This will show you all the winlogon processes on the server.
Find the one process without a SESSIONNAME (i.e. the only blank entry).
Make a note of the PID associated with that process.
Run Task Manager and click View menu > Select Columns... and choose PID (at the very top).
Now you can sort the list by PID number and find the winlogon process with the PID you are looking for.
Kill the winlogon process and Hey Presto, the user can now log in!
Hope this helps, took me a while to find!