try a full path to mysqldump.
Thats a good hint. Did you try this?
Furthermore make sure all environment you need to run the script in foreground is also set for the cron job.
The cron job runs in background and by a different user. Make sure it does not try to write any messages or errors to stdout. Redirect all messages and errors to a file or to /dev/null. Furthermore make sure that all needed environment variables are set in the backup script and the script has all permissions, try if it helps to set the "s" permission (chmod u+s yourbackupscript).