I dunno if this will help, but I once spent more than a full day trying to fix a small daily Oracle extraction that worked perfectly fine from the shell prompt but produced all kinds of errors when run from the cron tab. The problem had to do with a number of environment variables needed by Oracle that were not set the same way for regular users and for the cron tab user (I guess it was root, not sure to remember correctly though). You might have run into a similar problem: different environment variables.