Se la compilazione va a buon fine, devi considerare il fatto che una parola o funzione sia sottolineata in rosso, come un errore di parsing. Purtroppo è un errore che da anni ha MPLAB X e non viene risolto.
Il cambio dei nomi in LTlib 5 è stato realmente un male necessario che rende ora la libreria più coerente.
In C++, usando l'overloading delle funzioni, ovvero funzioni con lo stesso nome ma parametri di ingresso diversi, si sarebbe potuto definire "una sola" funzione come interfaccia (per esempio LCD_write_message ).
Poi il compilatore, avrebbe usato una o l'altra funzione in base al valore passato alla funzione.
In C l'overloading non è possibile, per cui bisogna usare necessariamente due nomi di funzioni diversi oltre che parametri diversi.
L'overloading in C++ è possibile perché una funzione (metodo) in C++ non è solo identificata dal suo nome ma anche dai suoi parametri. Per cui due funzioni con nomi uguali possono coesistere fino a quando hanno parametri diversi.
Saluti,
Mauro