Well, the idea is good, but the implementation sort of failed

When you add a relationship between elements, you are in fact changing them.
Which one you are changing depends on the ownership of the relation.
The problem is that the ownership of a relation isn't always easy to determine (at front)
For things like dependencies and generalizations that is easy. If you are adding such a relationship you are changing the "source" element. (the element on the other side of the arrow).
For asociations that is more complicated. An association can be owned by either the target, source, or none (in this case the package would be the owner). But the issue is that EA can't know who owns the assocation untill you define it in the associations properties.
So the safest would be to only allow new associations when all related elements are locked, and the containing package is locked.
I guess Sparx felt that would be a bit too much, so apparently they decided that at least one of the related elements should be locked for a new Association to be allowed.
Geert