Bueno .. ya respondió Josemi .. El problema principal es que esa información de HTTP_REFERER no la suelen entregar algúnos dispositivos tales como Firewalls, router y otros dispositivos de red.
La solución es quitar ese condicional (el IF ...) ..
De todo esto se habló en este mensaje:
http://www.forosdelweb.com/s/msg159800.html
Un saludo,