The more I read about this subject, I found more reason to believe something wrong with the LCD.
Go back and read response #1.
It explains what is happening.
You are not printing the same amount of characters all the time.
Some times you print 6 and sometimes you print 5.
When you print 5 characters "900mA" after printing 6 "1000mA" there will be an
extra left character on the display from the previous printing of the 6 characters.
If you don't want "trash" to be left over when you update the display you must ensure
that you either clear the display (which will cause flicker) or completely overwrite all the previous
characters with the new characters.
You are not doing either of those, so you see "trash" left over on the display.
In your case you are seeing a left over "A" from when you write 6 characters and then
you start to only write 5 characters.
To avoid flicker you will need to add code to check for the value and print a <SPACE> when it starts
to fall below certain points.
* * *
if(sensorValue < 1000)
if(sensorValue < 100)
if(sensorValue < 10)
* * *
Then print the sensor value.
This will ensure that you always print 4 characters for the sensor value.
The leading digits will be earase. If you want you can change the <SPACE> to '0'
to get leading zeros.