Value Objects are not only for crossing the boundaries between the client and server, but also across the internal tiers of the client and of the server. Even if an application doesn't have a server component, it is a good practice to use Value Objects to pass complex information structures between the Model, View and Controller tiers.
As for whether to use methods, the number one reason for it is to provide derived values. For instance, you might have a firstName field and a lastName field. Then you might have a name getter that joins the two.
Another thing you can do with Value Objects is to wrap an XML structure. If your client and server exchange XML, the client can create a 'Smart VO' (tm) that exposes the parts of the structure as properties. See an example of a 'Smart VO' here:
http://forums.puremvc.org/index.php?topic=1293.msg5973#msg5973-=Cliff>