It might be helpful to use VOs dealing data in your app. So a Mediator can use a VO, e.g. UserVO, to populate its ViewComponent retrieving the Proxy. And the ViewComponent expects this type too.
Furthermore dealing with VOs gives you the possibility to replace your XML service with a Remote Service (e.g. AMFPHP) or anything else without changing the rest of the app. Because the getUser method in your UserProxy returns a type of UserVO and not a type of XMLList. That means the caller (a Mediator, a Command or another Proxy) will be independent of the result of your service.
Last but not least a ViewComponent can bind the VO using the [Bindable] metatag to update itself without breaking rules so long as your app is based on Flex