C'est étonnant que l'un fonctionne et pas l'autre, je pense qu'aucun ne devrait fonctionner.
En effet chacun des deux codes appelle la fonction bmpDraw qui n'est pas définie. Cette fonction se trouve dans l'exemple appelé 'tftbmp' de la bibliothèque TFTLCD. Il faut donc que tu utilises cette fonction : copie à partir de l'exemple 'tftbmp' (lien ci-dessus) dans ton code les lignes qui se trouvent après la loop. C'est à dire à partir de :
// This function opens a Windows Bitmap (BMP) file and
// displays it at the given coordinates. It's sped up
// by reading many pixels worth of data at a time
// (rather than pixel by pixel). Increasing the buffer
// size takes more of the Arduino's precious RAM but
// makes loading a little faster. 20 pixels seems a
// good balance.
#define BUFFPIXEL 20
void bmpDraw(char *filename, int x, int y) {
File bmpFile;
int bmpWidth, bmpHeight; // W+H in pixels
...
jusqu'à la fin.