I would suggest that you use the script to collate any data required initially and then fork the scripts allowing the image processing to be done in the background.
You can achieve that by using exec() which you do have access to on dreamhost. Simple to implement the only difficulty will be passing all the data across.
exec(/usr/local/bin/php /home/USER/SITE.com/imageprocessingscript.php data1 data2 …datan> /dev/null &);
then in your imageprocessingscript.php you can access the variables sent via:
doing all this will allow the script to finish so the user is not waiting around and the the images will be processed when they can.
To avoid ‘annoying’ other users on yur shared server you can always have your own installation of php so your sites runs off that instead.
Finally are you using php4 or 5 5 has been shown to be faster (depending on your configuartion up to 10 times faster for the same functionality.