Quite correct Doctor,
Paolo has long railed about this schism in the EA paradigm. It shows up in at least a couple of places in the product.
Perhaps it is a side effect of the transition - within either or both of EA and the UML specifications - from UML 1.x to 2.x. Perhaps it is legacy 'hair' in the EA program. At this point in time, who knows?
I don't have a handy reference to Paolo's earlier threads - they go back a long time - but perhaps he'll provide a reminder.
Meanwhile, I agree something needs to be done. This issue is so long in the tooth that 'fixing' either of the two paths you point to would break a lot of already-deployed stuff, thus 'fixing' - making permanent and unchanging - bugs in previously usable add-ins.
Perhaps a new, correct (in the semantics of UML) 'version' of these things could be developed. It would have some different means of invocation, which could supplant the current means in the UI. [You can invoke either behavior from the UI now, giving you an inconsistent model.] This would leave legacy add-ins functioning, not break legacy models. Going forward, as long as the new feature path were used, development of add-ins and models would be free from side effects related to this issue.
Just a thought...
David
PS: But first you - the greater you, the user community - need to make umteen feature requests and bug reports to Sparx. Somehow this needs to be seen as a bug that breaks the EA interpretation of UML, not as a nice-to-have new feature.