Le seul moyen sûr de capturer toutes les modifications apportées à une table de base de données consiste à utiliser des déclencheurs sur le serveur. Le risque de modifier votre propre code pour auditer les changements est que les changements d'une autre application/utilisateur, etc. ne seront pas capturés.
Cela dit, je ne suis pas sûr que MySQL 4 ait pris en charge les déclencheurs.