MatchSrf results only in G1 or even lower - no matter what settings are set

Not all NURBS surfaces can have exact G2, G1 or even G0 continuity along the entire length of a common edge. Whether exact continuity is possible depends on the structure (number and arrangement of control points) and paramaterization of the surfaces. This is due to the nature of the NURBS math (not round-off error of finite precision digital calculations), and is in contrast with NURBS curves which can have exact continuity at a common point.

An algorith to adjust general NURBS surfaces so that they match across a common edge with the desired continuity, such as the algorithm used in MatchSrf, needs to determine the movement of control points which results in the closest match possible in some average sense along the edge. But the match might be not exact along the entire edge. It may be possible to improve the match by adding knot lines and control points - the more knot lines control points added the better the match might be. This is what the “Refine Match” option does, with the number of knot lines and control points to be added determined by the desired tolerance.

Any general evaluation of continuity between NURBS surfaces needs to be based on the acceptable tolerance. In contrast an evaluation of continuity between NURBS curves such as GCON can be based on whether the continuity is “exact” (within the round-off error of the calculations).

There remains the question of why MatchSrf sometimes will make the continuity worse when the input surfaces have close to or “exactly” the requested continuity. That behavior appears to be a bug.