So, now you're saying it does - sort of - work? No more 300ms delays?

Regarding the LCD: You can try tweaking the default 1500us setting but it's highly dependant on the specific LCD module you're using.
I suspect most of what's on the LCD is static text. If that's true you might gain a fair bit of time (and a much better appearance on the LCD) by just updating the part of the LCD that's actually changing.