I seem to remember reading a discussion on this problem a while back although I can't immediately find the thread. However, Deisel's link covers the topic - it could well be due to the settings you are using when you create the gcode. Mach3 needs to know whether to follow the toolpath exactly, which means that it has to stop at corners and then restart in the new direction but gives accurate results, or round off the corners to save it stopping and restarting. The G64 command tells it what to do, and this is generated by VCarve. There are good reasons why you might want to do one or the other in certain cases, which is why there is a choice. I'm not sure how you change the setting within VCarve but it's easy enough to edit the gcode afterwards if this is an issue. You probably won't have noticed it when engraving because the machine never goes fast enough in a straight line for it to show up, and of course if you are cutting a circle, then there aren't any corners...

Can you post your gcode file for the square test piece?