When MySQL servers go weird

The MySQL PASSWORD() function has started giving a different value on a client’s live server compared to local development servers.

This has resulted in end users not being able to log in when PASSWORD() is used to compare the stored and entered passwords.

Why this has happened I have no idea. Any thoughts?