Holis!
He revisado tu código, y en verdad, no funcionó. De hecho, el parámetro este de la transparencia no era importante para este caso, porque php sí reconoce la transparencia original de las imágenes, se ve al copiar una sobre otra.
Ahora bien, se me ocurrió que tendrías que trabajar con una tercera imagen, una creada en ejecución, que tuviera la propiedad de transparencia asociada a un color. Al menos a mí me funcionó en Firefox...
Código PHP:
$img1 = "img_avatar/anika_04.png";
$img2 = "img_avatar/anika_02.png";
// Creamos las dos imágenes a utilizar
$imagen1 = imagecreatefrompng($img1);
$imagen2 = imagecreatefrompng($img2);
// Creamos imagen destino
$imagen3 = imagecreatetruecolor(200, 150);
// Dibujamos un rectangulo lleno de color verde,
// que sera nuestro color transparente
imagecolortransparent($imagen3, 0x00FF00);
imagefilledrectangle($imagen3, 0, 0, 200, 150, 0x00FF00);
// Copiamos una de las imágenes sobre la otra
imagecopy($imagen1,$imagen2,0,0,0,0,200,150);
// Copiamos las imagenes pegadas sobre la imagen destino
imagecopy($imagen3, $imagen1, 0, 0, 0, 0, 200, 150);
header("Content-type: image/png");
// Damos salida a la imagen final
imagepng($imagen3);
// Destruimos todas las imágenes
imagedestroy($imagen1);
imagedestroy($imagen2);
imagedestroy($imagen3);