A veces las imagenes en PNG guardan cierta informacion, el color transparente muchas veces es un color determinado.
Porque no probas asignando color de fondo a tu imagen por ejemplo blanco RGB=(255,255,255).
Algo asi seria:
Código PHP:
Ver original$nombre_directorio = "../iconos_sociales/";
$nombreDocumento = $idunico."-".$_FILES['foto']['name'];
$ancho = 40;
$alto = ($ancho/$anchoOrigen)*$altoDest;
imageJpeg($imagen,"../iconos_sociales/$nombreDocumento",100);
Espero sirva, saludos.