DB record versioning/audit - Recommended Approach???

Look into acts_as_versioned.