In some cases (like WEBDav) Model Service API is used to update an entity that supports expandos, if the expando values are not changed, the "client" code needs to grab the expando values from the database in other to provide them in the update call. If that's not done the values will be lost.
This is not necessarily a problem when the update comes from the UI because the expando values are resent from the form if not changed (although I haven't tested what happens if the user doesn't see some fields due to permissions). However this is something important to consider when invoking the Service API from elsewhere.
Tags and categories, uses a pattern to persist the non sent values wich consist in passing a null when the current values should be preserved.
I suggest to do something similar for expandos.