When a new node or link is added to a diagram, the diagram automatically computes a new diagram bounds and then tries to meet the requirements of any Diagram.Stretch and HorizontalContentAlignment and VerticalContentAlignment. I don’t know what you have set, but you probably don’t want to set the first property, and the latter two properties you want to set to “Stretch” rather than “Center”.
I add the possibility to change my link route as in your link demo sample, but, in my diagram, my nodes all change of position when I change my link route…