I must admit a little confusion from this thread.

It all stems from the definition of perpendicularity. I thought perpendicular meant 'at right angles to a plane' i.e. the XY plane, so the thread was referring to the Z axis.

Reading it again it seems more about XY squaring, which makes a lot more sense. I do no see how any software could compensate for a cutter out of tram moving up and down at any angle other than vertical unless the cutter head was spherical and the shaft small enough to allow it to miss the sides of the cut.