Some more information after research on this topic - the SX and SY values reflect an x,y coordinate for the start point (and EX/EY for the end point) of a diagram link object.
The values of SX and SY are relative to the object connected, and range from SX = -(Width/2) on the left to Width/2 on the right.
SY values range from -(Height/2) on the bottom to Height/2 on the top edge.
This not enough data, however to completely place the point, since determining the x/y values only will place the point somewhere in the middle of the object if SX <= Width/2 or SY <=Height/2
There is another value in the DiagramLink.Geometry 'blob' called 'EDGE' which tells you the edge on the start (client) object of the link. EDGE ranges in value from 1-4, with 1=Top, 2=Right, 3=Bottom, 4=Left.
This allows placing the connector on the edge of the start object, because if EDGE = 1 you set the Y value to Height/2
EDGE=2, set X=Width/2, EDGE=3, set Y= -(Height/2), EDGE-4, set X=-(Width/2).
This does not allow for placing the endpoint, however, because you don't know which edge of the end object. This does not seem to be exposed in the API, but if you query t_connector, you can see that sparx does have the data, in the columns 'Start_Edge', and 'End_Edge'. End_Edge is not exposed in the automation API, from what I can tell?