This is because X0 Y0 and Z0 is the absolute zero position of our virtual machines. Going negative will trigger the end switches and cause an alarm. To be able to use negative values, you will need to move the local program zero point in your program away from the machine zero point. This can be done by either using the G92 code or G54-G59.
G92 X50 Y50 Z20 will move the local program zero point in to the right on the table and 20 mm up. This will make the machine zero point being at X-50 Y-50 and Z-20.
If you prefer to use G54 to G59 you will need to type in your zero point values in the zero point registry in the Inventory Browser (F2).
For more information on how to move the zero point, see this online help page.