I'm getting the same "client knowledge differs from server knowledge". How did you ever solve this problem?
The corresponding error code is changeTokenExpired
When this happens, it means that the change token you supplied to the operation is either too old or has expired.
Retry the same operation by passing change token as nil, that way it would fetch all the zone changes from scratch.