Hi Edvan,
Did you report this as a bug to Sparx on either the registered/unregistered bug report web pages? This is a user forum - some Sparx staff do read the forum, but nothing beats a formal report. It's worth referencing this thread in your report.
This problem is an issue for us too, and is not restricted to any particular version of EA.
The only way to store a connector that spans two different XMI (or controlled packages/version controlled packages etc) and be compliant to the XMI spec is to put the connector in both XMI files. This is problematic in itself, and needs to be carefully managed by the UML tool (EA). Personally, I don't think EA does a great job of this.
I've already posted comments about the need to indicate in the EA GUI when a controlled package is modified since it was last saved (potentially by modifying a connector in a diagram in another package)
here.
On further reflection, I think the XMI import also needs a few more features to manage this problem better, and in particular the problem you mention.
In your case, I would expect that the current behaviour is that the connector is re-instated as the connector is saved in A1.xml.
The only way to "fix" this is for the EA import to be more explicit about what it does when it discovers a connector that is different to the one that exists (or does not exist) in the model. I think the options should be:
Connectors to "other packages" (for want of a better term)
() Add connectors if they don't exist
() Use imported connector if newer
() Use imported connector if older
() Ask each time
In this way, the modeller gets to choose the behaviour on import, and doesn't have to accept EA's arbitrary interpretation. The last option is obviously not useful for batch import.
Just my 2 cents worth!
Darren