lo que pasa es que al hacer esto :
directorioFerFull=right(linea,9)="\ortofoto"
estas comparando:
right(linea,9) con "\ortofoto"
que en este caso son lo mismo porque la función right toma la cantidad de caracteres desde la derecha, del texto que le envías como parámetro, es por esto que el valor true se guarda en la variable directorioFerFull.
Algo que puedes hacer es usar la función InstrRev que te devuelve la posición de una cadena dentro de otra, pero comenzando desde el final, un ejemplo usando tu caso:
ruta="L:\programacion\FICHEROS-FERFULL\ortofoto"
pos=instrrev(ruta,"\")
nruta=left(ruta,pos-1)
msgbox(nruta)
lo puse detallado para que se entienda
, ruta guarda la ruta, pos guarda la posición de la primera aparición de "\", pero buscando desde el final de la cadena, nruta guarda el valor que le devuelve la función left, que toma la cantidad de caracteres,desde la izquierda, que le envías como parámetro (en este caso pos -1, es decir 14) de la cadena que también se le envía como parámetro (en este caso la ruta).
esto funciona para cualquier ruta que le envies, a menos que le envies una ruta como esta:
"L:\programacion\FICHEROS-FERFULL\ortofoto\", como tiene un "\" al final te devolverá "L:\programacion\FICHEROS-FERFULL\ortofoto", que al final sería lo mismo, para eso primero deberías poner una condición, pero creo que ya le estoy dando muchas vueltas al asunto, espero que me hayas entendido