We've been doing exactly what you're describing in our application, for about 4 months now. We use it to track changes to customer purchase orders. It works great. One suggestion I have is that you use a drop down list for the REASON field if you can - making summaries or reports of the reasons would be a lot easier than dealing with individual's random entries. We haven't yet made this change ourselves, but I'll be glad when we do.
We use changeValue on each relevant field, and save the results to a table rather than a text log. The table is mighty handy when you have to re-create a history, because you can filter, sort, etc.
It's interesting that footpad brought up dataPostRecord - we rarely use this because we've had some problems with it. For example, if the user edits a field and then closes the form without hitting F9, the record in the table gets changed but you never get a dataPostRecord. There are several other ways to make this happen. I never understood why... maybe footpad could comment?
- John