Imagine logging into your bank website. If it was showing you the log in form, then suddenly (without explanation or input) logged you in. If that happened to me - I would think that the login form is bugged. Likewise, if I was accessing a website I never used to have to log into and was presented with a login form, I would be just as confused, and think it was bugged (not to mention I'd probably have no clue what my credentials actually are). You need to keep the user in the loop. Doing things that the user doesn't expect does not make people think your software is "more impressive". It makes it look buggy and inconsistent.