I believe that the problem has to do with conflicting orientations set by the exporter. The exporter sets the face_orient field of all faces to 1, but since it also sets the edge_orient field of all of the edges to 0, the importer reads the wrong orientation of the edges. I am not absolutely certain as to what the standard menas on this point, but I believe that this could be fixed in the importer or the exporter --- if the importer either set face_orient to 0 or the edge_orient fields to 1 the behavior would be fixed (face_orient is set on line 1803 of iges.c, edge orientation is calculated on lines 1706-1709 of iges.c). Also, a similar fix could be created by inverting either the face_orient or the edge_orient values in any of Get_outer_shell/Add_inner_shell, Add_face_to_shell, Make_planar_face, or Get_vertex.