Goal was to create document library with requirement to hide fields which have 'Hidden' string in name (unfortunately I could not use ShowIn.. settings due to specific requirement from external tools integrated with SharePoint instance). My first idea was to use custom FormTemplates with custom ListFieldIterator.
Quickly, it turns out that there is a problem with registering FormTemplates for content types based on document library. SharePoint 2010 was ignoring them. The only solution I was able to find, was to disable content type inheritance. That allowed me to register my own FormTemplates.