I think it should be fine now and with lasso selection... Thanks for feedback...
Thanks for looking at the routine. It works perfectly with a crossing window, but the lasso crossing still seems to muck up the polylines when the line is to the left of the selected alignment line. It works fine with selecting polylines to the right of the alignment line.
I presume it's a limitation of how AutoCAD works out the crossing area with the lasso.
A small characteristic is that pressing Ctrl-Z will undo the action plus one more - i.e. if the last item I did was draw a line before starting stretch-vert-curve, pressing undo would delete the line.