Seems to be a problem of the file itself. When I copy the mesh to another empty file. It works out fine. Just curious, what would cause the shift of mesh vertices?
Could it be this object has been positioned far from the world origin?
If so you could be seeing errors due to floating point limitations for representing large numbers.
The MeshVertexList is, unfortunately, an enumerable of Point3f (3 floats) due to historic reasons. Rhino did not have double precision for meshes in version 4.
CIL has method overload resolution support based on return type. This means that maybe one day we could find a way to make this work… so it would not definitely break plug-ins. But it would take serious work to set it up… so it’s probably future tripping.