I had a similar issue and resolved it by setting the destination table fields to varchar(255). For some unknown reason my brain told me to set each value to the same settings as in the source. Bad Brain...
Every field that was updated, (151 of them), was entered with the max value of 256 characters and all was well with the world, or at least the app. The Audit table now has proper data in it.
Yes I am lazy...and in a hurry...