A very persistant zero on my LCD display

Once you write a character to the LCD it stays there until it is overwritten.
To 'erase' a character you have to overwrite it with a 'space'.

The best way to deal with displaying changing data is to:
(1) position the cursor
(2) display enough spaces to cover up all of the earlier data
(3) reposition the cursor
(4) display your new data

lcd.clear is not a good choice because (1) it takes a long time and (2) it may cause flicker (as you have seen).

Don