Hola,
 
Supongo que te refieres a imagecolortransparent() no? 
Lo he probado, y me lo saca en blanco (cuando lo abro con photoshop) y algo raro distorsionado con el visor de imagenes de windows vista. Uso resampled, pero también use resized y el resultado fue el mismo. 
El codigo que estoy usando es este:  
 Código PHP:
    $watermark = "ruta";
$im = imagecreatefrompng($watermark);
        
        // RESCALAMOS LA MARCA DE AGUA
        $watermark_width_original = intval(imagesx($im));
        $watermark_height_original = intval(imagesy($im));
        $watermark_width = intval(imagesx($im2)*0.42);
        $constante = imagesx($im) / $watermark_width;
        $watermark_height = intval(imagesy($im)/$constante);
        
        $im_water = imagecreatetruecolor($watermark_width,$watermark_height);
        
        $transparente = imagecolorallocate($im_water, 255, 255, 255);
        imagefill($im_water, 0, 0, $transparente);
        imagecolortransparent($im_water, $transparente);
        imagecopyresampled($im_water,$im,0,0,0,0,$watermark_width,$watermark_height,$watermark_width_original,$watermark_height_original);
        imagepng($im_water,'ruta_salida',9); 
    
  Alguna idea?