Hola,
Primero, te recomendaria que no incrementaras asi el valor en la tabla. Si lo que quieres es simplemente incrementar en uno el valor del campo, usa esta consulta:
UPDATE contador SET visitas=visitas+1
siendo visitas un campo numerico. De esta forma siempre incrementara en uno el campo, lo que no esta asegurado en la forma que lo haces actualmente debido a los problemas de concurrencia. Imaginate que el usurio 1 esta ejecutando la linea del echo($vis["visitas"].'<br>'); y en ese mismo momento el usuario 2 ejecuta el select, leeyendo el mismo valor que leyo en su momento el usuario 1 (que todavia no lo ha actualizado). El usuario 1 lo actualiza en la BD. El usuario 2 hace los echos y actualiza la BD con el mismo dato que lo hizo el usuario 1. Por lo tanto has perdido un conteo.
Y si cuando no es "inicio" no ejecuta los echo, no creo que ejecute el mysql_query().
¿Usas redirecciones? Porque puede ser que alguna redireccion haga que se ejecute 2 veces el codigo, una vez con el valor correcto y otra con el vacio. O quizas un problema con include(). La verdad es que para que con "inicio" se ejecute 2 veces es que se llame al codigo 2 veces.
Sobre el famoso proxy de timofonica, en
www.aui.es tienen una seccion dedicada a el, con un link a un documento de telefonica que explica como se puede "lidiar" con el. Segun parece, el proxy crea otra variable, creo que algo como HTTP_FORWARD_noseque.
Suerte.