Greg,
I ran into this problem quite often, especially working with legacy data. What happen in my case is that the primary key couln't be enforced so I would end up with duplicates on what was suppose to be my unique key.
What's happening is that when the framework checks for changes in the record it's encountering a different record with the same "primary" key value and therefore alerts the user that the contents of the record has changed.
This may or may not be your situation but have a look at it....