I found a workaround for this second problem.
1) Create a single abstract stereotype which holds the generalizations from the multiple abstract tagged-value-group stereotypes, and also has the extends to the lone metaclass.
2) Draw a single generalization from the concrete stereotype to this new "proxy" abstract stereotype.
With this solution, EA will only apply the tag groupings once in the properties dialog. It still ignores the tag groupings, but it doesn't stupidly repeat them, as it does when the concrete stereotype has multiple generalizations. (Yes, it is weird that EA simultaneously ignores and applies the tag groupings in one and the same window. Anything else I can help you with?)
The properties window still presents the tag groupings correctly. It even works with multiple concrete stereotypes each with a single generalization to the "proxy" stereotype. (No reason why it wouldn't, but then... EA.)
So with this solution the properties dialog presents the tagged values like this:
AbstractStereotype1 (<element_name>)
Tag S1:1
Tag S1:2
Tag S1:3
AbstractStereotype2 (<element_name>)
Tag S2:1
Tag S2:2
AbstractStereotype3 (<element_name>)
Tag S3:1
AbstractStereotype4 (<element_name>)
Tag S4:1
Tag S4:2
Tag S4:3
AbstractStereotype5 (<element_name>)
Tag S5:1
Tag S5:2
Tag S5:3
Tag S5:4
Tag S5:5
The property window presents the same tagged values like this (as before):
ConcreteStereotype ( from <profile_name> )
Tag group 1
Tag G1:1
Tag group 2
Tag G2:1
Tag G2:2
Tag group 3
Tag G3:1
Tag G3:2
Tag G3:3
Tag G3:4
Tag G3:5
Tag group 4
Tag G4:1
Tag G4:2
Tag G4:3
Tag G4:4
Tag group 5
Tag G5:1
Tag G5:2
So. The properties window presents the tagged values grouped as specified in the metaclass (note that this grouping is independent of which stereotype defines which tagged value); the properties dialog presents them grouped by stereotype (case A).
If a concrete stereotype has multiple generalizations to other stereotypes, the properties window still presents the tag groupings correctly, but the properties dialog now applies the tag groupings once for each generalized stereotype (case B, shown in previous post).
If a concrete stereotype has a single generalization to a stereotype which in turn has multiple generalizations, the dialog presents the tags as in case A.
Case A is still bad, but it's not as much of a horrorshow as case B. So the toolmaker can apply Yet Another EA Kludge, prepare their answers to the users' inevitable questions, and live to fight another day.
Mind you, I haven't tested how any of this works when you start applying metaconstraints to this mess. Won't that be fun to find out.
/Uffe