Der Großteil der Änderungen, die die Rückwärtskompatibilität zwischen den verschiedenen Versionen zerstören, wurde aus gutem Grund vorgenommen, da Möglichkeiten zur Erzeugung von Sicherheitslücken oder ähnlichen unschönen Dingen entfernt wurden.
"Gute Gründe" werden oft angegeben, wenn die Rückwärtskompatibilität gebrochen wird. Vermutlich waren einige Funktionen nicht mehr zu retten, vgl. auch:
http://de3.php.net/manual/de/function.mysql-escape-string.php "deprecated"
http://de3.php.net/manual/de/function.mysql-real-escape-string.php "das Substitut, man beachte das real"
Ebenso:
http://blog.php-security.org/