Änderst du an den "img_X" irgendetwas nachdem du deren "Picture" an die "xxx.ImgX" zugewiesen hast? Du übergibst hier nämlich nur Referenzen. Für eine richtige Kopie, die sich nicht mit der Quelle mit ändert, versuche mal:
xxx.Img1.Assign(img_1.Picture);
Ich hoffe TPicture implementiert Assign()
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)