Ao decrementar números no display, o caracter da esquerda não apaga

Tens o código à mão?? Sem ver o código torna-se impossível de dizer como corrigir isto.

No entanto, posso explicar o que acontece. Imagina um LCD que só tem 4 caracteres.

No Arduino, quando escreveres 1234, ele guarda 1 na posição de memória 0 e por aí adiante. Quando escreves um 9, ele vai à posição 3 (as 4 posições são de 0 a 3) e mete lá um 9, mas não mexe nas 3 posições anteriores, daí tu ficares a ver 123 antes do 9.

Para resolveres isto, podes fazê-lo criando uma função que renova o conteúdo do lcd de x em x segundos. Antes de chamares esta função, chamas o método lcd.clear() e isso limpa toda a memória do LCD e depois escreves tudo de volta com os dados correctos.

Outra maneira de fazer isto é definires os sítios que tem dados permanentes e apenas limpares o local onde os dados que variam são escritos. No teu exemplo, se apenas vais mostrar 4 caracteres, podes simplesmente fazer um lcd.setCursor onde essa área começa e depois escrever um lcd.print(" ");. Após isto, podes repetir a instrução de lcd.setCursor e escrever o número que queres.