@jodogger, maybe I'm missing something but if the service returns an int, it certainly won't change your object.
The problem is that your object never actually makes the round trip to the server. Because of the disconnected nature of WCF, you must pass values byval and not byref.
If you must change values in the WCF service, you'll need to do something like this:
myObject = WCFService.MethodName(myObject);
That isn't actually the same object coming back, but you'll be clobbering your old object with the new values of that object.
Please note that the object being returned will need to be created by you in the DataContract section of the interface as well as the implementation itself.