Is it correct, that TMappingExplorer.GetClassStateMembers does not contain all DynamicProperties?
Building an Dataset using a similar solution like your AddFieldDefs looping through ClassStateMembers(aClass, True, True) does only return the first property in our TDynamicProperties Field...
Correct, because GetClassStateMembers does what its name indicates: it retrieves the members of the class (mostly fields but sometimes properties) that hold the data to be saved to the database.
Dynamic properties, as the name indicates, are dynamic, they don't have fields or properties in the class. They are stored in a single member of type TDynamicProperties, that's the member that is returned for all dynamic properties.