Bueno creo que ya he comprendido como hacerlo... el caso es que debes copiar los fuentes(.c) en el directorio del proyecto. Es lo que decias tú Maunix ¿no?. Creo que no te entendí bien. El caso es que yo copiaba el archivo de cabecera en mi directorio, modificaba los fuentes y los incluía en el proyecto(pero desde el directorio original) con lo que C18 los compilaba todos pero al tener de antemano los .o (codigo ya compilado ¿no?) no les hacia caso... Bueno, pues gracias de nuevo Maunix.
A ver si nos entendemos.
Puedes dejar los archivos en su ubicación original, pero en el archivo .h en la ubicación original debes cambiar la configuración de los bits.
La sugerencia de que copies los .c y el .h en tu propio proyecto es para que mantengas el codigo fuente original de Microchip por las dudas

Además tu modificabas el .h y lo ubicabas en tu proyecto pero los .c seguramente apuntaban al .h que hizo microchip en su carpeta original. He ahí donde te decía que radicaba tu problema.
También es cierto que si están los .o no los volverá a generar, pero esto es porque el código fuente de esos .c apuntaba al .h anterior y no al nuevo. Si apuntara al nuevo cada cambio en el .h por más que estén los .o obligará al compilador a recompilar tus códigos fuente.
Otra forma de obligar a recompilar un código , es hacer CTRL+F10 y eso ejecuta el comando CLEAN antes de compilar , eliminando todos los archivos temporales e intermedios.
Saludos