actually that's quite freaky. The ID returning from the "shippingaddress" field on an SO is the id of an address record but it does not match the id of the address for the corresponding customers one and only address.
(note shippingaddress not shippingaddresslist)
BUT if you load the address record from the SO shippingaddress field and alter the values on it, if you inspect the SO (&xml=T) you can see your changes.