Ultimo tentativo (non ho proprio tempo per dare
una guardata + approffondita alla classe)

Prova a fare questa cosa quando
hai
$pie->display();
prova con
unset($pie);
e vai con un altro oggetto
altrimenti proprio non saprei ...


Oppure aggiungi alla classe

ImagePng ($im, time());

ho messo time per ottere un valore
sempre diverso (è il nome dell'immagine
che viene scritta su Hd).