I am also using a similar pattern in my project. In my case, each DTO has a Collection of other DTOs. When calling my EJB "getter" for the "root" object in this hierarchy, I indicate whether or not I want these Collections populated.
Obviously, I would prefer to lazy load these collections, but I was unable to come up with an appropriate way to do this and still maintain the spirit of the TransferObject design pattern -- it rather defeats the purpose if my data transfer object needs to access live model data to do its job.
See this thread for more information on my situation: http://www.theserverside.com/discussions/thread.tss?thread_id=32284