I know it sounds like a parameter is mis-set somewhere (I hope it is!) but I have checked everything you have suggested.
The temp directories in the kernel are set correctly - the relevant one is /tmp, and I have been trying to debug this by looking at the variable contents as the file is uploaded and the temporary file is appearing momentarily in /tmp.
The parameter for the photo-album is correctly set to /tmp/photo-album and ad_parameter is returning the correct value.
Also the path to convert and identify are correct and can be successfully called as the aolserver user from the command line in any diectory on the system as simply 'identify file'.
I have not yet worked out why the temporary file is being put in /tmp when the photo-album parameter is set to /tmp/photo-album.
I have tried modifying the call in photo-add-2.tcl from 'pa_upload_images -remove 1' to 'pa_upload_images -remove 0' so that I can examine the file and try manually 'identify'ing it as the aolserver user but despite my setting this parameter to 0 the file still disappears sharpish after the upload.
I am stumped so far.