We worked through the weekend and we think we have a handle on two separate issues that are the cause of these errors. We're testing everything now, which isn't easy, since we have to properly setup suitable test cases in the first place. We're working to get these issues resolved as quickly as possible.
FYI, the syncing logic goes through extensive gyrations to make sure that it only syncs the data that has actually changed. That applies in BOTH directions. If you only change one thing locally, that's the only thing that gets sent up to the server. Similarly, if you then sync that down to another computer that was previously synced, that's the only thing that gets sent down. That being said, given all of the interweaving nature of Realm Works, changing one thing can have a domino effect on a variety of things under the covers. All that has to be properly accounted for, and it gets quite complicated.
This web of inter-dependencies is the source of most of the "sync -500" errors that users have received at various points. It's also why only a relatively small number of users get the errors each time, since it's wholly dependent on exactly what you've done within your realm.
Right now, we send each record that has been changed in its entirety. However, we've got things structured in a way that we'll ultimately be able to only send the portions of records that have actually changed. That's an optimization that we haven't addressed yet, though.
Oh, and before someone gets worried due to an incorrect assumption, lots of stuff is already broken out into completely separate pieces so we can avoid sending data unnecessarily. For example, if you change a map pin, nothing about the underlying image has to be re-transmitted. If you modify the reveal mask for a smart image, nothing about the underlying image has to be re-transmitted. The image itself only gets transmitted if you actually replace the image with something else. This thing is pretty well engineered IMNSHO.
