SSD1306 LCD and nonblocking libraries?

no. It is just a copy of the timer0_millis variable.

I am a bit confused with your concerns about how much time you are spending in the ISR. Why? If this routine gets called once every 300-500 msec.