Hola Sacahe.
Yo creo que cualquier sistema que uses de los que has mencionado no funcionarían en forma duradera.
El sistema óptico se ensuciaría a la semana y dejaría de funcionar, o bien, necesitaría mantenimiento casi semanalmente.
El ultrasonido lo mismo. Al apilarse la tierra y el barro sobre los sistemas, éstos dejarían de funcionar en menos de un mes. (Contando con que llueva una sola vez en un mes).
El switch que propone Ariel es una solución viable, pero muy difícil de implementar ya que habría que levantar parte de la estructura férrea, para colocarlo.
Cualquier sistema que uses, deberás dotarlo de energía, para su funcionamiento a menos que sea una acción mecánica a distancia, la que efectúe la locomotora a su paso.
Si no vas a implementar una solución mecánica y vas a tener acceso a energía, particularmente yo, pensaría en algún circuito del estilo del RFID.
Un sistema que sea capaz de detectar la masa metálica del convoy. Que ésta masa metálica, desvíe la frecuencia de un pequeño sistema oscilador, adosado a algún durmiente.
Digamos que la masa metálica del tren, altere el Q del sistema, de forma tal, que éste sea capáz de detectarlo.
Hasta se podrían colocar varios de estos "detectores" de masa metálica, en secuencia de aproximación hacia el punto donde se encuentra la barrera.
De esta forma podrías dotar de mayor seguridad al sistema, ante un eventual fallo de alguna de las unidades de detección.
Resumiendo.
Los factores atmosféricos o de suciedad no afectarán un sistema magnético. Sí lo harían con cualquier otro método.
Al menos, es lo que se me ocurre en éste momento.
Espero te sea útil la idea. Y no olvides las palabras de Ariel "Es la vida de mucha gente en juego, si llegase a fallar"
Saludos
Mario