No, non cambia nulla, ma bisogna capire, quando capita il problema, se alla strlwr stai effettivamente passando quello che pensi ...
Prova a fare un po' di debugging bloccando l'esecuzione quando c'è la strcmp per dare un'occhiata ai valori delle stringhe passate.