So I come in last night after hours to bounce the service and, failing that, the server.
But first I tried the EXECUTE AS... and it worked. For the old and new names...
Thinking problem solved, I left well enough alone.
Yet this morning, the applications are still not working. The users are getting the same error message, Cannot retrieve profile for domain\longusername. But running a trace, I notice that it's their oldname in the NTUserName and LoginName columns!!!! They are logged into the network with their newnames.
I believe we're using Kerberos.