The issue is most likely to do with how the CRM record is updated. It is the responsibility of the code that updates a record to only include the fields that have actually changed; CRM will not compare the field values to check this.
If the CRM record is updated through code calling the CRM API, then check that only the fields that have changed are updated. If the update is through the CRM form, then check that fields are not being unnecessarily included in an update (this is controlled
by the setSubmitMode method)
Microsoft CRM MVP - http://mscrmuk.blogspot.com/ http://www.excitation.co.uk