Well, I went and had a look and looks like that's not accurate.  On ErrBadConn the query is retried as per usual, but if we return the real error retrying is abandoned immediately.  So we should definitely look at the SQLSTATE to know that it's actually an authentication failure and not something we could theoretically recover from.  I'm not sure it would ever make a difference in practice, though.  "Try 10 times as quickly as possible, then give up" isn't the strategy I've implemented in my applications.