2 and more duplicated screen on 2.4 LCD TFT Arduino Uno Shield

Ok, more guesswork:

void setup()
{
    ID = tft.readID();
    ID = 0x1520;     //force ID for mystery controller
    tft.begin(ID);
    ID = 0x9327;     //THIS IS A NEW STATEMENT
    uint8_t unlock = 0x00;
    tft.pushCommand(0xC6, &unlock, 1);  //guess that 0xC6 is the protection register
//    tft.pushCommand(0xD0, &unlock, 1);  //guess that 0xD0 is the protection register - NO
//    tft.pushCommand(0xF0, &unlock, 1);  //guess that 0xF0 is the protection register
//    unlock = 0x3F; tft.pushCommand(0xB0, &unlock, 1);  //perhaps it is R61626 style
//    unlock = 0x3F; tft.pushCommand(0xE0, &unlock, 1);  //perhaps it is R61626 style
}

Please try all these pushCommand() statements. One at a time.
You just have to add two slashes // to disable a statement i.e. makes it a comment
And remove the two slashes to enable a statement

This is all quite technical. You must be a very clever 11-year old.

David.