Chris,
When you're testing your limit switches are you manually pressing them, or moving the tool to see if it triggers them when it reaches the end of travel in each axis? Just wanting to check--because if the tool itself is not triggering the switches, then it would continue to drive into the negative while searching for that pulse from the switch.
The settings for the "park location" can be edited in the preferences tab of the fireup app. Check in there just to be sure that those values are set to something that looks correct. My tool has them set to X=3, Y=7, Z=1.5--when I'm all homed out correctly, these shouldn't cause any collision or loss of position.
Is the drive through material happening when you're running a toolpath? or on startup of the tool?
If it is happening during a toolpath--how deep is the cut supposed to go compared to the extra plunge that it is making? Is the tool losing position in the Z axis by moving up and hitting the end of travel in that axis at the beginning of the file? What happens if you set your Z=0 point somewhere above the surface of the material?
Is the error message in fabmo saying that your toolpath is corrupted--and is it locking up fabmo and forcing you to restart?