Had a case during some testing where StrokeCalcCap got called with Len = 0. This if course caused a division by zero crash on Da := 1 / Len.
As a hack fix, I just added a test to exit the procedure if Len is 0, but I am not sure what the implications of this are.