I came across what appears to be a bug in Rhino.Geometry.Mesh.CreateBooleanIntersection. I am running the attached Python code on the two meshes in the attached file. One of the meshes has two vertices very close to each other at a distance of about 0.08, this is correct.
As you assumend, this seems to be a problem with Rhinos internal MeshBooelan Code. Curiously running _MeshIntersect on your two test meshes yields a perfect closed Curve lying on both meshes, so its quite wierd thast the boolean fails. I Tried this in R6, definitely something for @piac to look at as an example for his rewrite of the Mesh Intersection code.
To maybe fix your immediate problem in the meantime:
Since your meshes are rather simple, I would convert them to Polysurfaces via the _ToNurbs command and do the boolean operations on those, as that code is more robust. You can then make a Mesh out of the result again via _Mesh