hmmm... nuja
vielleicht wärs schon mal von Vorteil wenn Du Deinen Code nen bissel übersichtlicher schreibst - also erst die def, dann die Arrays und danach die Konfigurationen sowie Initialisierungen und erst DANN den Code.
Im Moment ist es alles ziemlich durcheinander gewurschtelt und daher recht schwer lesbar.

Warum nutzt Du nicht die Hardware PWM des µC? Damit hast Du keinerlei Timingprobleme und der nun unnötige Interrupt unterbricht die recht langsame Datenübertragung zum LCD-Display nicht mehr.
Der Befehl Wait ist laut der Hilfedatei eh recht ungenau - wenn Du einen bestimmten Zeittakt einhalten willst würde ich an Deiner Stelle den zweiten Timer nutzen und in dessen Interruptroutine die Aktualisierung des Displays schreiben.
Waitus = 100000 sollte aber auch gehen und nicht allzu große Verzögerungen mit sich bringen.