Perdón, ya está solucionado.
La variable time() no era suficiente para que los nombres de las imágenes fueran distintas. Con pasarle el $id del registro ya salen distinto y para mayor seguridad la sessión de usuario.
He tenido que crear el objeto en la misma funcion y despues pasarlo a nulo con settype($graph, 'null');.
Si sabeis de alguna solución mejor se agradece