El problema es el siguiente: los archivos no funcionan como las bases de datos; sin implementar mecanismos adicionales no tienes la garantía de que los datos no se corromperán si 2 usuarios están tratando de acceder al mismo recurso en el mismo momento.
Puedes hacer una prueba sencilla colocando un sleep(5) después de, por ejemplo, $abre = fopen($archivo, "w"); para generar un delay de 5 segundos. Aprovecha estos 5 segundos para abrir otra ventana de navegador e ingresar a la URL de tu script. Verás como el contador de visitas muestra cualquier cosa luego de estas operaciones.
Existe la función
flock() que, tal como describe el manual, te serviría para bloquear el archivo y evitar que se corrompa. Por supuesto que la mejor solución sería optar por trabajar con una tabla de tu base de datos.
Saludos.