Unlike other properties such as the ReadOnly property, changes to the Hidden property do not get propagated when you use the Update(true) method. This is probably why the Hidden property is not even available in the web interface for creating/modifying site content types. You have to manually propagate these changes to this property by calling the Update() method on each site content type list content type instance.