nunca he tocado fox, pero por logica, si dice que nunca examina la segunda igualacion, puede ser que se pierda a la hora de las comprobaciones, asi que quizas esperaria esto:
IF (UPPER(ALLTRIM(variable)) == 'TAXI') .or. (UPPER(ALLTRIM(variable)) == 'A PIE') THEN
en fox ¿no podes reemplazar el OR por ||=, para probar.....