Expón el código que usas completo (no sólo la "respuesta que obtienes"). Si tu navegador está mostrandote el código HTML y cabeceras HTTP .. algùn problema tienes en la definición de cabeceras. De hecho en tu código (que no se aprecia y es dificil aventurarse a decir que ese es el problema) .. "parece" que estás componiendo cabeceras HTTP para la entrega de la imagen .. en el mismo código HTML que lo llama? ...
No se vé claramente si el código que obtiene tu imagen en binario de tu BBDD previa consulta SQL queda en un script -aparte- del còdigo HTML que lo llamas (el tag de imagen) .. Es primordial que estén separados.
Para que veas de lo que hablo .. toma nota y estudia este tutorial al respecto:
http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/
(parece que te basastes en el mismo?)
Un saludo,