I too ran into this problem. What I did is stored the startpoint and endpoint of the line I wanted to break, then I deleted the line and created two new lines, one line would have the startpoint of the original line and I would assign the new endpoint based on my requirements. The second line would then have a calculated startpoint and use the end point of the deleted line.
That seems to work for me, not sure if that is the best way to handle it.