Even with Cyclic disabled, occasionally it loops back and connects the first and last strokes:
http://cl.ly/RHdH
If you look closely, you'll see it has also disconnected an intermediate loop:
http://cl.ly/RI4j
If this can't be solved through the algorithm, we may need to implement a way of manually specifying the first loop, similar to extruding vertices.