GoLink

What information is required to recreate an orthogonal GoLink that has
been modified/positioned by the user? When I programatically create the
GoLink and set the ToPort and FromPort, the link’s path seems to be
recalculated with the vertical stroke portion positioned midway between
the two ports. I have tried to save/restore the stroke’s path,
but that did not always reconnect the path to the port correctly.

You can get the points of the stroke by using GoStroke.CopyPointsArray.

You can restore those points by calling GoStroke.SetPoints. But you should do so after setting the FromPort and the ToPort, because whenever a link's port is set, it calls GoLink.CalculateStroke.