I've been debugging *CanonicalEditPolicy and *DiagramUpdater java classes
and in the end I think that the described behaviour is not exactly a bug.
When a diagram is opened these classes looks for all the VisualID's that
must be painted in the diagram in agreement with the model information.
Bearing in mind that the two links are using the same targetfeature the
two links must be created and the only way to prevent this is through
constraints.
The bad point is that althought normal constraints are checked by the
diagramUpdater, the linkConstraints only are evaluated at visual creation
time.
To avoid this misbehavior we need to have linkConstraints evaluated by the
DiagramUpdater ¿Why linkConstraint are only evaluated at visual creation
time? ¿Any idea?