Another thing to look at is your environment. cron doesn't neccessarily pick up some environmental parameters set by your interactive shell. If, when you log on interactively, you have, say a bunch of Oracle parameters set by .profile, you aren't neccessarily going to have those when cron launches your script.
This link has covered this.
Thomas