la única forma de que el archivo se corrompa es que se envié data a la salida, con algún echo por ejemplo, puede ser que en el final del archivo tengas caracteres de
salto de línea o tabulación, para evitar eso es mejor eliminar el tag de cierre de php (
?> )

de todas formas no es necesario, inténtalo:
Código PHP:
<?php
$enlace = "../Recursos/MailAdjuntos/" . $_GET['id']; // $_GET['id'] = imagen.jpg
header ("Content-Disposition: attachment; filename=".$_GET['id']." ");
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);
//el tag de cierre no hace falta ;-)