I have a same problem.
I'm using an Arduino Due with 2.8 TFT shield. I created Arduino Uno to Arduino mega converter (
http://blog.ozzie.web.id/?p=1014) in order to connect 2.8 TFT shield to Arduino Due, downloaded a latest UTFT lib.
Opened a demo sketch and changed an initial string to "UTFT myGLCD(ITDB28,38,39,40,41);".
When I uploaded demo sketch to my Due board I was happy to see, that all works fine. But when I disconnect Due from USB and connect it again, I was surprised: image on a screen was inverted (mirrored). Colors was inverted too...
After assaulting google I didn't find a fix for my problem. After 2 hr's of brain storming I find a solution: add delay before display initializing.
void setup()
{
delay(100);
// Setup the LCD
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);
}
It help's me to fix problem.