The "Row not found or changed" indicates that between the time DirSync read an object from SQL and before it was able write changed back to SQL, something else changed the data in SQL.
A few reasons for this to happen:
1. When there is more than one profile is running and both are attempting to update the same object.
2. Multiple instances of DirSync are running at the same time.
3. Replication. For example, a member object ( the actual object itself) was created by a profile using one DC but the profile trying to add that object as a member is using a different DC, then if replications of DC's in target is out of sync we will not see this object.
4. Same profile is being synced more than once simultaneously. This would be evidenced in the log by 2 “push started” or 2 “pull started” entries for the same profile.