With respect to the discussion of subclasses: the new recordType is on a different level than the resource types. We should not mix the information that something can be usefully interpreted as a Occurrence or Taxon concept with the type of resource that vouchers for this information.
Thus, while I think recordType is a DarwinCore categorization of intent, not resource, and is fine, I still feel that the basisOfRecord vocabulary is a subtyping of resource types.
I therefore believe that it would make life simpler for many consumers of DwC if DwC would adopt DublinCore type for its own purposes. Instead of having basisOfRecord = PreservedSpecimen FossilSpecimen LivingSpecimen HumanObservation MachineObservation StillImage MovingImage Sound NomenclaturalChecklist
DarwinCore would first use the DublinCore vocabulary: dcterms:type= StillImage MovingImage Sound Event Text
and then use dwc:subtype= PreservedSpecimen FossilSpecimen LivingSpecimen HumanObservation MachineObservation NomenclaturalChecklist
for those subtypes of dcterms:type that DarwinCore cares about to specify further. This would allow consumers to directly map DwC records into their DublinCore metadata, rather than analysing the implied hierarchy and mapping in the flattened basisOfRecord.
Gregor