The control must create its tool radius offset path in the form of an arc between two lines which meet at an intersection. When the tool must travel through an arc that is greater than 180 degrees, the arc will always have a real, positive value for its radius. The endpoints of the commanded intersecting lines are valid destinations,even when offset and the control has 'space' to insert the new arc that it creates to perform radius compensation.
When the angle between the two intersecting lines is less than 180 degrees, the control creates two offset lines and trims them together to create an arc of zero radius. I suspect if this 'internal offset' results in a trim that deletes the entire entity, then the control returns an error because it already travelled farther than it should have, even if it is parked at the beginning position of the line which has since vanished through the trim operation.
That is my theory.
For foolproof execution of a path on which you intend to run full radius machine compensation on, you might as well fillet every internal corner (less than 180 degrees) to match the tool radius, because that is what the control is going to have to do for you. The benefit is, if there are any entities which vanish in carrying out this operation, you will have forseen them, and can take steps to trim and fillet the geometry to the entity before or the entity after the disappearing intersection.
This is one advantage of using a good CAM system to create offset geometry, with the tool center following the new geometry. Hopefully, the CAM is capable of performing perfect trimming of the new path. This would be an advantage of using offset part geomety in conjunction with only wear compensation to adjust for perfect part size. Since wear compensation is only going to be a few thousandths, it represents a very small radius tool which will have a better chance of negotiating the turns between very short entities.
First you get good, then you get fast. Then grouchiness sets in.
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)