@mikeymike
Hmm, thats the one I thought would have been the actual user.
So Environment.UserName probably has the wrong user as well?
You can try playing around with WMI (check out the WMICodeCreator).
Win32_LoggedOnUser might prove useful, or possibly even Win32_Desktop?
For my situation, the loggedonuser showed a number of users (myself, and various system accounts), when I check Win32_LogonSessionMappedDisk (since I have drives mapped) I find the mapped drives point to an ID number that points to my actual loggedonuser instance.
In Win32_LogonSession my loggedonuserid is the only one using kerberos authentication.
There is bound to be a way to get what you want out of some combination of those classes