Ok, I think it might make some sense.. for a) performance, and b) if LOWER(login) didn't equal login.downcase, as they're two different implementations.  If you can revert the unscoped changes, I think this will be ok.