Código PHP:
Ver original(($solicita!="OTROS") && ($solicita!="ALIMENTOS"))
A | B | A or B
-----------------
V | V | V
V | F | V
F | V | V
F | F | F
El or solo es false cuando ambas partes son false. En tu caso, 'OTROS'!='OTROS' es false, pero 'OTROS'!='ALIMENTOS' es true. Y tal como esta, nunca van a ser false ambos y el or siempre va a ser true.
Sin embargo, con el and solo es necesario que uno de los 2 operandos sea false para resultar en false.