El problema no era ese por el que preguntaba pero si, hay un error... acabo de modificar el código, tenia un error ahí, que tenia que cambiar el const char * por txtComp[0], con esos cambios me da correcto, pero aun asi ni siquiera el primero funcionaba, es decir entraba dentro del for pero ahi llegaba.
Para el caso especifico de un PIC18F4550, con el compilador XC v2.05, tengo que sizeof de txtComp es de 4, y sizeof de txtComp[0] es 2, por lo tanto me da 2..
Para 3 elementos, sizeof txtComp 6, por lo que al dividirlo me da 3
Para 4 elementos, sizeof txtComp 8, por lo que al dividirlo me da 4
Para 5 elementos, sizeof txtComp 10, por lo que al dividirlo me da 5
(sizeof txtComp / sizeof (txtComp[0]))
Observa que el sizeof de txtComp me da el tamaño total, al dividirlo por cada uno de los elementos, se cuanto elementos tengo.
El problema esta entre la silla y el teclado. Funciona correctamente....
Yo miraba el las variables y era obvio que nunca iban a coincidir.El 0x08 que muestra es en realidad el indice de la tabla. No la direccion. El compilador genera correctamente el codigo llamando a la tabla.