algorithmic modeling for Rhino
Yeah there is a one-degree tolerance check to see if the projection direction is parallel to the plane Z-axis, and if it is parallel then the transformation is just a straight planar-projection.
I've tightened the tolerance to 0.01 degrees now.
I was about to ask why not using the rhino tolerance, but I just noticed it is 1 deg by default.
So 0.01 probably better.
And if ultra accuracy needed (which is my case at the moment), I guess using this or extrude+intersection will work.