ModulePartVariants can alter attachnode positions.  The most apparent example of this is the structural tubes from Making History.
When you first launch a craft file, the attachnode positions come directly from the craft file and are correct:

After reverting to launch, or saving and reloading the scene, etc. the attachnode positions are wrong.  This causes the game to create the physics joints between parts in the wrong place:

Note that in this craft file, one "arm" has the "top" node connected at the center, and one has the "bottom" node connected at the center.  That is, the tubes are pointed in the same direction.  It's pretty clear that the bottom node isn't in the right place.  This can be verified with the debugger or unityexplorer.
Craft file used above:
ModulePartVariant-joints.zip