Leutz leutz. ^^

ImageCopy($img2, $img, 1, 1, $img_w, $img_h, $img2_w, $img2_h);
Das da, das kopiert von bild "$img" ab position "$img_w"-"$img_h" einen ausschnitt mit der größe "$img2_w"-"$img2_h" an die stelle "1"-"1" in bild "img2".
Das alleine macht IMHO nicht so viel sinn.. warum kopierst du erst ab der stelle breite bild1-höhe bild eins?! Und dann die breite des kompletten bildes? Geht ja garnicht!! ^^
Also machen wirs mal anders:
ImageCopy($img2, $img, 0, 0, 0, 0, $img2_w, $img2_h);
Kopiert das gesamte $img in die linke obere Ecke von $img.

Danach dann einfach $img2 anzeigen!

imagegif($img2);

Tata!