Creo que esta pregunta es un buen ejemplo de las increíbles capacidades del español para decir mucho más de lo que se está expresando verbalmente. Si la persona que dice eso tuviera que ser meticulosamente exacta y literal, obviamente al ver a su amigo tendría que considerar que la acción de "no vernos" ya ha concluido puesto que ya lo ha visto, y la frase tendría que ser:
Hacía siglos que no nos veíamos.
Una frase que sí, es exacta, pero comparémosla con la original:
Hace siglos que no nos vemos.
Para mí la diferencia entre ambas es lo que es hablante quiere expresar realmente con "vemos". En el primer caso se puede tomar de forma literal: ea, ya nos hemos visto, la acción de "no vernos" queda en el pasado. ¿Y en el segundo caso? Tal vez ahí lo que "no vernos" implica es algo más: "no vernos" implica no saber nada del otro, no sentarnos a tomar algo y charlar de nuestras vidas, no ponernos al día, etc. El mero hecho de ver (literalmente) a la otra persona no hace que la acción de "no pararnos a charlar" haya terminado.
Por tanto, creo que el uso del presente es simplemente la voluntad del hablante de querer hacer algo más con su interlocutor que "verlo".
"Há quantos anos não nos vemos!"