Just a quick note – the hidden attribute on a content type seems to have little effect on how a content type can be used. The content type can still be used on document libraries, however the only side effect is that the content type does not appear on the new button drop down (even though “Visible on New Button” is set to true). The content type still appears when you upload a document.
Hmm, I’m just thinking as I write – maybe the hidden attribute stops a content type from being used in Office directly (so it is just hidden to Office)? If true, this may form a workaround to the Document Information Panel (DIP) problem (where custom field types are not rendered correctly in the DIP) by stopping content types that use custom field types from being accessed in Office.
This is just speculation at the moment – it will be interesting to see how the DIP behaves when a document is already set to use a hidden content type, I will test tomorrow morning…
I have just tested in office, and hidden content types are available both when creating new docs and when updating docs that already use a hidden content type. This poses the question, what is the hidden attribute for if it only hides the content type from the new button?