Edward,
As a couple of comments have already pointed out, you do not necessarily have your expected environment set when your cron job runs.
The solution is to fully path your commands and files. So, make sure you know where your commands are:

When putting a smiley right before a closing parenthesis, do you:

Use two parentheses: (Like this: :) )
Use one parenthesis: (Like this: :)
Reverse direction of the smiley: (Like this: (: )
Use angle/square brackets instead of parentheses
Use C-style commenting to set the smiley off from the closing parenthesis
Make the smiley a dunce: (:>
I disapprove of emoticons
Other