Additional form validation only after passing default validation
I'm pretty sure you have to re-arrange the order of the validators, and inject yours basically in the middle instead of just adding it at the end.

From user.module, $form['#validate'] = user_login_default_validators(); or:

/**
 * Set up a series for validators which check for blocked/denied users,
 * then authenticate against local database, then return an error if
 * authentication fails. Distributed authentication modules are welcome
 * to use hook_form_alter() to change this series in order to
 * authenticate against their user database instead of the local users
 * table.
 *
 * We use three validators instead of one since external authentication
 * modules usually only need to alter the second validator.
 *
 * @see user_login_name_validate()
 * @see user_login_authenticate_validate()
 * @see user_login_final_validate()
 * @return array
 *   A simple list of validate functions.
 */
function user_login_default_validators() {
  return array('user_login_name_validate', 'user_login_authenticate_validate', 'user_login_final_validate');
}


and

/**
 * A validate handler on the login form. Check supplied username/password
 * against local users table. If successful, sets the global $user object.
 */
function user_login_authenticate_validate($form, &amp;$form_state) {
  user_authenticate($form_state['values']);
}


so I'd do something like:

$form['#validate'] = array('user_login_name_validate', 'mbrusers_infusionConnect_validate', 'user_login_authenticate_validate', 'user_login_final_validate');


instead of if &lt;Default form validation passed&gt; so that your validation function is called before the normal/usual second validator.