РЕШЕНО!
Въпреки че SET SESSION old_passwords=0;
не работеше в phpMyAdmin.
Изтеглих MySQL GUI Tools и използва MySQL Query Browser, за да изпълни същата команда на потребител, който не е DBO:
SET SESSION old_passwords = 0;
SELECT @@global.old_passwords, @@session.old_passwords, Length(PASSWORD('abc'));
сега върнати:
1 0 41
Затова просто промених паролата:
SET PASSWORD = PASSWORD('my_old_password')
И сега PHP 5.4 PDO се свързва с базата данни с този потребител!