The 'edge fill' code failed on filling tiny small polygons. It has a limit check for double points, which was hardcoded set to 0.0003. That is (commented in code too) a weak part. Better would be to define a bounding box first, and then derive the limit from that. Further, the edge fill code uses blender EditEdge data, which fails when the filling code removes edges. Certainly a topic to work on once, this code is from the 80ies!