I'm actually fairly sure this isn't possible -- and the reason might seem kind of silly, but is a limitation of the architecture having to deal with content types:
Forms (edit/view) are associated with a particular content type; so when you go to a list and edit an item, the first question SharePoint asks before it renders any form is 'what content type is this' then it asks 'what is the right form for this content type' then it goes and finds that form and renders it.
If you were able to change the content type while editting the form, you wouldn't be in a valid edit state for that item while you were viewing the form that was rendered for the previous content type (since different types can have different fields and other associated metadata)... SharePoint would need to provide a new form for that item based on its new content type.
So that may not be the answer you're looking for, but should shed some more light on the scenario. Also worth noting, InfoPath won't work for you here since it doesn't expose the Content Type field and follows the same Content Type dependency logic I've described above.