Updating content types
check the box to update child content types then there is no way to force the update later.Thus, if you don't update and later wants child content types to have the update you first need to reverse the update and the reaply it.Secondly, your content types could be created and modified in several ways, which would decide in what of three modes your data is present in the database.
Unfortunately not: remember that we also had list content types?
The bummer here is, that these list content types are instantiated using code, so they are in the "database-only" state.
A solution to this would be to add a completely new content type based on the old one but with the changed fields.
You would add the new content type (through code or using feature XML) and use a feature receiver or similar to propegate the new content type to all lists that used the old content type, and subsequently mark the old content type as hidden.
That would make it possible to keep old meta data but not to add new items using other than the new meta data.