It is true that adding code at the start of a script to set the environment can get it to run from cron as it would from the command prompt.

But depending on how this is done, there is a danger that the script may no longer run as intended if the environment is changed and the script is not updated.

It is good practice to have a separate script that sets the environment and to "dot" this script at the start of the scripts to be run from cron, as well as "dotting" it automatically at logon (for the korn shell this would be achieved by adding the command to the end of the .profile in the home directory).

Using this technique will make it more likely that scripts run the same from the command line as they do from cron, and should also reduce the change management overhead.

This method also has the added benefit that multiple accounts can use this same "environment" script to set their environment the same. For example, if there are a few DBAs they could set the DBA environment via:
$ . some_dir/dba.profile

This is a tip of course and, whilst I realise that the thread was solved technically, I hope it helps someone in the long run.