php Кеширование временного файла браузером -- установка http заголовком не помогает

На кеширование (как минимум в firefox) влияет метадата-файла -- а именно поле последней модификации, поэтому его нужно установить в точно такое же, что и http-заголовок last-modified:

$lastModifyDate = date(DATE_RFC822, strtotime("1 Semptember 2011")); // временные файл всегда создаются только что, но выставим им старую дату, иначе кеширование браузером одного и тоже будет невозможно
touch($image, strtotime("1 Semptember 2011")); // меняем мета-дату файла

-- это справедливо и для любых файлов (не только временных), если в заголовке выставлять время модификации, отличное от того, что выставлено в файле.