I quite like this.
My only concern is that this might be too complicated in practice.
Some problems are created by switching the ctype (and also pages when switching the doktype, e.g. shortcut, link):
- leftover content in fields that makes no sense but creates problems, e.g. when using Upgrade Wizards sometimes content is transformed - 10 year old content that no one has ever edited since and that is not useful creates additional obstacles (or even errors) if the wizard cannot convert it. I ran into this a while ago.
- linkvalidator - currently the fields like bodytext are checked independently of the ctype so broken links are reported for fields that cannot be edited and that is not used in the frontend. This is no fun for the editors and actually makes linkvalidator unusable if you have a lot of these.