I’m having this same issue but with rhino8.16, was the cause found?
I was able to fix the issue using brep.Repair(0.01), but I’m still not sure why this is needed?
the transform that is causing my brep to become invalid is:
R0=(0.9950125627347625,0,-0.009999873742953282,0),
R1=(0,1,0,0),
R2=(8.673617379884035E-19,0,0.9949623121129386,0),
R3=(0,0,0,1)
^ result of transform.ToString()
As you can see, this transform is not doing much (scaling by about one percent along the (1,0,1) vector, then rotating to keep the xy plane flat), so It is strange that there would be issues.
Here is the geometry that is being broken by the transform.
problematicGeometry.3dm (1.0 MB)
Also, brep.Transform is returning true, so It seems like it should have succeeded.
Also, projecting some curves onto the invalid brep proved that it has the shape I expected, but it is invisible otherwise.