ho provato lo script con php 4.3.7, apache 1.3.31 su winzoz e funziona.

prova a mettere error_reporting(E_ALL); ad inizio pagina, magari hai qualche notice che nn vedi...
prova anche ad usare imagejpeg cambiando l'header...