Okay, das war natürlich auch Blödsinn. Davon weiß natürlich Form1 immer noch nicht, dass die Komponente schon freigegeben ist.
Ich mag mich irren, aber eigentlich müsste Form1 beim Beenden das Image automatisch mit freigeben. Meine da mal was in der Hilfe gelesen zu haben...
Berichtigt mich wenn ich falsch liege. D.h. um das Free müsstest du dich in dem Fall gar nicht mehr kümmern.
Alternativ müsste eigentlich auch gehen:
imgnew := TImage.Create(nil);
anstelle von
imgnew := TImage.Create(self);