The 101/WCF/RCA example uses a hand crafted service proxy.
This works in the example, because both the client, and the server both have a direct ref to the Common assembly where the DataItem was defined, so both the Service and the Proxy can ref the same class def.
But if this were a CF client, talking to a FF server, I'm pretty sure one can't have both sets of code share the same common code.
In such a case, I would expect one to go down the usual WCF route, build a proxy of not only the service, but the DataItem as well, and see if that works...
I did try that, only to get bombed out on orchestrator.Sychronize() complaining about not being able to understand SyncIdFormatGroup (which works with the hand crafted service provider that has no mention of a second DataItem).
I'm guessing here that the message is maybe a side product of it not being able to figure out how to force a proxyDataItem into the original DataStore (that is expecting the original DataItem)...