Screen displaying wrong colour loaded off sd card

Your BuyDisplay link shows an obsolete UTFT library (v2.79). UTFT is currently v2.83
It also shows you how to connect to a 3.3V Arduino Due or 3.3V 8051 chip.

You say you are using a library called TFT_ST7735
Google can find Bodmer's TFT_ST7735
Google can find Sumotoy's TFT_ST7735
Google can find MBED (not Arduino) TFT_ST7735

There might be others called TFT_ST7735.

If the regular library examples are showing the correct colours I would expect a BMP example from the same library to produce the same colours.

If you have got examples mixed up, it is easy enough to invert the colours e.g. tft.invertDisplay(1);

David.