This might be a simple idea, but are you reseting the adminlevel and score values in OnPlayerDisconnect before updating the account by any chance? I would imagine that would probably screw it up.
That. And check your MySQL Database Connection logs to see what data was being recieved (if you can) - then you can figure out where the problem lies, because MySQL might not be sending the correct data back