Curve.Offset direction is inconsistent

I work with 2.12.

Attached is a graph and a drawing. It contains an alignment and 4 crossing polylines. The graph reads the geometry of the alignment and the crossings, then the alignment is split at the points in between the crossings with a small cap, and those alignment parts are offsetted. Two of them in the right direction, the other in the opposite direction.

I added a startpoint node to the offsets so you can see the direction is correct, they are not reversed.

Offset parts of Alignment where it crosses a 3D Polyline.dwg (1.0 MB)
Offsets.dyn (106.7 KB)

If you fix the offset bug, can you also fix the split bug? Sometimes the last part of a curve is lost after a split. As a workaround I add the endpoint of the curve, as described here: