Because there is nothing telling you that you will get to see the link if you fail to log in.

It breaks down to these cases:

  • You know you have an account --> normal procedure.
  • You think you have an account but you don't --> Failed login.
  • You know you do not have an account --> you will look for a way to get one. If it is not there, why would you try to log in when you know it is going to fail? So provide the link from the start.
  • You do have an account, but you think you don't --> let the signup process fail instead, saying something like "Your email address is already registered. Need a new password?"

It would be a different case if you didn't provide the password box. The combo Username + Password is so widely used for logging in, that your check-if-registered-as-you-type is not expected. What you could do is to break that down step wise.


download bmml source – Wireframes created with Balsamiq Mockups

Your stakeholder's approach is proven to work, though. A different approach (both yours and mine) sets higher demands on responsiveness and UX. For example, what if the check-as-you-type is lagging?