I would make two things before posting the entire program.

1- Change DEFINE LCD_COMMANDUS 2000 to 3000.

2- If point 1 not fix the trouble, reduce the program to minimum in order to have the repeatability of the trouble with minimum statements.

I will make this activity this evening (Italian time).

Ciao

Leo