With regard to 2):
Is it possible that the DiagramLink object is being corrected but the underlying Connector object is not? This situation might display the observed symptom.
With regard to 4):
About a year ago I was manipulating large models in a variety of ways. I discovered that some diagram links are apparently drawn on the fly by EA, and not stored in the DB at all. Unless I forced an entry into the DB the links were drawn to some internal EA default pattern, including labels, etc.
The specific thing that caused me problems was that on diagrams created entirely through the API, EA often rendered links on its own, but did not store these in the DB. The default visibility setting was to show these links. Thus, even if I removed them, rendering the diagram again, or sometimes even reloading it, would cause the links to be displayed. Not good on complex diagrams.
I don't have the code handy, but I think I had to hack into the DB and store a record from outside of EA (i.e. through a programmed interface into the DB, not through EA's UI or API). Although this produced the expected results, and the resulting diagram links retained visibility (and other) settings I inserted into the DB, this is a nasty hack.
Seems your problem is a case of this coming back to bite us.