Te felicito por tu código. No liveraba la variable imgGraphic porque el parámetro Graphic era un nulo y no puedes crear una variable de tipo TGraphic así por así ya que se trata de una variable astracta. Ojalá que este código sirva para futuras referencias.
Revisa el código, porque tienes un problema en las líneas
Código Delphi
[-]
If Not Table2.Active Then Exit;
If Table2.FieldbyName('Diseno').isNull Then Exit;
creo que con ese código puedes terminar con imágenes repetidas, o sea que cuando no haya una imagen, el programa simplemente dibujará la anterior. Si acaso pasa eso (que creo que pasará) mejor libera el Stream y deja que se carga como una imagen nula, en blanco. o opcionalmente, asigna una imagen que indique que no existe grafica.
Fue un placer ayudarte. bye.