Either paste a snippet from a successful build
Or the complete "buildable" sketch.
I am sceptical that this line could compile:
tft.setTextColor(ILI9341_WHITE),(ILI9341_WHITE);
But the simple answer to all your troubles is to use the full-fat method with different foreground and background colours:
tft.setTextColor(ILI9341_WHITE, ILI9341_BLACK); //overwrite print
If you use the same foreground and background colour it behaves like the simple
tft.setTextColor(ILI9341_WHITE); //transparent print
Yes, you can rub out a previous letter by printing it transparently in the background colour. But it is faster to draw in overwrite mode. You will not notice any flashes.
David.