There is caching taking place in SQL. Here is how to see it in SQL Server 2008 R2 and how to reset it. This is for a Windows user that is in an AD group and where the group has been added as a login in SQL. The user has not been added directly as a SQL login.
connect with original username
Connect to SQL as a user. Let's say the user is DOMAIN\test connecting with SQL Server Management Studio. Check logged in user info.
Output includes column the Login which has rows for: DOMAIN\test
Object Explorer > right-click server at the top of the tree > Properties
Connection shows: DOMAIN\test
You can additionally see the username referenced here:
Object Explorer > right-click server at the top of the tree > Activity Monitor > Processes
Object Explorer > SQL Server Agent > Job Activity Monitor
connect with new username
Now change the AD username to test2. Reconnect in SQL Server Management Studio. Only the connection properties box shows the new DOMAIN\test2 username. If the server/service has not been restarted or a timeout/reset didn't otherwise take place, the old username will still show for the other outputs.
reset the connection
Even if you log out and let all connections end or if you kill them, when you log back in as test2, it will continue to be referenced as the original username. Here is one way to force a reset without restarting the server or SQL service. Create a new SQL login directly for the DOMAIN\test2 account. Immediately delete it. There is a check that takes place and flushes the cached entry. Now when you connect as test2, all the checks above reference the new username.