I can see where the divide by zero occurs, two places I think, so I can catch them before it happens and put up a message.
Currently I can't use the python script to test, but with the plugin, for the file with a duplicate point, the polyline is created, all points are here but it is not displayed to the screen
.. only because a bulge is NaN in the collection .. now we know how to hide a polyline without to have to hide it's layer 
++
David
See I told you I experience weird behavior using the first plugin compared to the script (have not tried the latest update yet) but honestly speaking with the same imported file (after manually removing the duplicate polylines) the plugin works and some letters dont show its created path unless I select everything on the screen, some have empty polylines! If nothing is selected you can only see some of the letters (polylines) that have been done successfully, The more weird is that there is identical letters, but one is successful the other is not! (could be from the conversion(duplicate point on one of them?)), more over I have noticed that changing the start point can make the drag knife path creation not successful for a letter that was successful before setting a start point (could also be a conversion problem (duplicate point)). Please check the uploaded file!! I believe All these behavior HAS to be addressed
I have also discovered is 2 things earlier while using the old script (long time ago)
1. The original code state that the polyline has to be closed, well I have found that it is not necessarily!
2. Weird zigzagged path with curved polylines (check the photo), not sure how this can be normal
Thanks