@TwistedTwigleg I set the polygon to have the same transform as the armature just before setting the bone on the polygon:
fiber.rest = fiber.transform
fiber.apply_rest()
p.global_transform = fiber.global_transform
p.add_bone(fiber .get_path(), nW)
at least now and the above steps assures alignment of the polygon and bone before add_bone(), but the aggregate polygon I had before, the observed behavior looked like the weight for on point on each bone wasn't tracking. During animation one point on the polygon got dragged out. There could be a few different ways I think that could happen, but hassle and annoyance AND
The armature animation will have bones folded on itself (imagine a Z squashed flat at some point in an animation) and this leads to twisting any polygon at the bendy bits. Discrete polygons are needed.