Blender Cycles Freestyle Line Breaking
You have to adjust your model (topology) to be better compatible with freestyle.

Two problem of your geometry are


intersections
very sharp angles



left: intersections; right:sharp angles

Freestyle isn't designed to work with intersections. An intersection will remove other lines if freestyle wrongly thinks that a line segment is occluded (even though it may be only partially occluded).



If you are using Smooth Shading and Subsurf Modifiers, you should consider checking Face Smoothness. The manual is quite vague


  When enabled, Smooth Shading will be taken into account for edges calculation.


However, I have found that some edges with wouldn't be connected, are connected with Face Smoothness enabled.