We've created a custom Line Style that contains a Hatch point + Hatch stroke (pattern), two parallel Strokes (Upper and Lower) enclosing the Hatch, and a Cap stroke.
Everything works fine when placing a single line, but when placing a linestring with two or more segments the Caps can either land in an unexpected location or not display at all. The results are inconsistent and seem to to depend on the direction and orientation of the last segment. In this image the "O" (origin) indicates where each linestring starts.
This issue can be resolved by replacing the Stroke based Cap with a Point based cap instead. In this example we have used a point cell that is a simple line.
When the linestrings in the first example above are replaced with this Point cell version, all of the Caps display in their expected locations.