what happens when you run this from the command line?
If you are using bash try changing the file to:
route add default gw 192.168.1.1
Try changing the crontab entry to:
0 * * * * /home/mad/gateway >/tmp/output 2>&1
Then check the output file for any clues to whats going wrong.
I am assuming that the user for the crontab is the same user that you tested the script.