A única maneira infalível de capturar todas as alterações em uma tabela de banco de dados é usar gatilhos no servidor. O risco de modificar seu próprio código para auditar as alterações é que as alterações de outro aplicativo/usuário, etc., não serão capturadas.
Dito isso, não tenho certeza de que o MySQL 4 tenha suporte a gatilhos.