Para detectar problemas .. ejecuta tu código:
printimage.php?id=n°
en forma aislada .. es decir .. desde el navegador con ese URL y un ID de registro que conozcas. Ahí deberías ver algún tipo de error por ejemplo en tu consulta SQL o código en general. SI no ves nada .. intenta quitar por el momento las referencias a las líneas de código que indican: header() ...
Usa también estructuras tipo:
$res = mysql_query($MainSQL) or die (mysql_error());
El objetivo es "ver" el mensaje de error en concreto .. luego ya vendrá como solucionarlo si corresponde.
Te puede interesar también este tutorial probado al respecto:
http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/
(asumo que almacenas tus imagenes en "binario" en tus BBDD .. no el nombre sólo como referencia de tu archivo de imagen?)
Un saludo,