Thomas,
As Naomi said, audit trail functionality belongs in the database, not the application. That way, changes made to the database outside of the application are still detected. Take a look at database triggers. I've written some code, if you need a sample.