PROGMEM does not seem to be working.

Riva:
To have arrays like this you need to also have an array of pointers to the strings for it to work.

Actually I finally found out what's going on. It seems the Arduino example is depreciated (specifically, the "prog_char" and "prog_int", etc.. type of declaration).

I found that THIS works:

    char buffer[64];
    const char *template[] = PSTR("Hi my name is %s and I am %d years old!\r\n");
    sprintf_P(buffer, template, "Roger", 55);
    Serial.print(buffer);
    lcd.print(buffer);
    whatever.print(buffer);

The "template" string is stored in flash with this method.