I did faced similar kind of issue and select user_name() was also returning "dbo" instead of the current logged in user. The reason was the user was given "sysadmin" role. Removing this role fixed the issue for me. I thought this would be helpful for some one facing this issue.