If I show the value of a init variable in lcd, for example
lcd.setcursor(4,10);
lcd.print (value);
The value shown at position 10, but the value is four digits, so the sample from left to right at positions 10, 11, 12, 13.
But show begins to at position 10.
As the value goes down from four to three, two, or one digits, in the lcd the last value of digit is left written.
So if the value is 975 for example, goes when down to 50 the lcd sample 0950.
This will be OK as long as you have nothing immediately after value. If you do, then you need to print just enough spaces to overwrite the extra digits by checking the length of value.
Another alternative is to only write value if it has changed. That will certainly stop it flashing.
int i;
i=sizeof(Watiostxt);
if (i==3); lcd.WriteText(3,18," ",1);
if (i==2); lcd.WriteText(3,17," ",1);
if (i==1); lcd.WriteText(3,16," ",1);
lcd.WriteText(3,15,Watiostxt,1);