mmmm...

veo que no guardas ese dato. Lo obtienes cuando haces:
Código PHP:
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
Guarda ese dato también en tu BD en otro campo... y recuperalo en tu script de descarga:
Código PHP:
header("Content-Type: ".$row['tipo']);

(la validación que haces no es 100% confiable --creo ya lo comenté--. Ve la FAQ sobre subir ficheros)