No sé si en este mensaje ya se ha comentado (alguna vez lo he mencionado no recuerdo si en este mismo mensaje) ..
Para evaluar que tienes problemas con la generación "dinámica" de imagenes .. debes hacer algunas cosas para ir "viendo el error" para que cuando lo veas sepas que sucede y en consecuencia poder dar una solución al problema.
1) llama a tu script que genera la imagen de forma independiente por el URL:
http://......
2) Si ahí no ves ya un mensaje de error: comenta las líneas de header() que tenga el script en cuestión. Por aquí ya deberías ver algún tipo de error.
Ten presente que si usas el código propuesto con la corrección del uso de sesiones .. el código que genera la imagen lo hace en función de esa variable de sesión .. así que tendrás que hacer pruebas con algún dato fijo que simule el dato que podría tener tu variable de sesión . .así veras por ejemplo entre otras cosas que tal vez puedas tener problemas con las sesiones (con la propagación del SID y no te esté tomando el valor de tu varaible de sesión que contiene el dato que se va a representar gráficamente).
Así mas o menos se evalua en general problemas con "cabeceras" y generación de imagenes dinámicamente.
Pruebalo y nos comentas ..
Un saludo,