I understand that my DDD model project should be totally isolated and not reference any other layers of my application, and that my WCF service will contain DTO versions of the real model object with all the special attributes required by WCF services. The service will also reference the model and know how to translate between the DTO and "real" model objects.
What I want to know is whether a client application that is consuming this service should communicate with it using the DTO objects or real model objects? Should the client application be responsible for converting the DTO objects it receives from the service to model versions, or is that something that should be build into the service so that the client doesn't deal with the DTO objects directly?
I was thinking of creating a wrapper class that wraps an instance of a service and exposes the same functionality but as model objects rather then the DTO versions. Good idea? Bad idea?