I have a smart client application communicating with its server via WCF. Data is created on the client and then sent over the service to be persisted. The server and client use
Have a look at your DataTables (if that's what you are using to transport data).
If the DataTable name is empty, then the Serializer might get confused and serialise things incorrectly.
Otherwise, if you are using typed, [Serializable] objects, I have found that sometimes the Serializer also gets confused if you use dynamic property declarations, eg:
public string MyName { get; set; }
But this would be a easily repeatable error.