The reason for the bevel not working correctly, was that the first extruded face in the spin was inverted from the rest of the faces.
This was a problem because of the a == 0 check in the operator as it would only invert the first extrusion segment. (So the rest of the extruded segment normals wouldn't line up with the first one)
I don't see why that check would be there. It had it in when the normal flip action was added rB06d4fad31326 .
I'm guessing it made it in by mistake?