Sketch too big!!! First time this has happened to me.

This little block of code:

//    if(recording && newReading)
//    {
//    if(strcmp(messageID, "GPGGA") == 0)
//      {
//        char filename[13];
//        sprintf(filename, "%s.txt", date);
//        if(!SD.exists(filename)) Serial.println("Making Directory");
//        File dataFile = SD.open(filename, FILE_WRITE);
//        
//        // if the file is available, write to it:
//        if (dataFile) 
//        {
//          dataFile.print(latitude);
//          dataFile.print(",");
//          dataFile.print(longitude);
//          dataFile.print(",");
//          dataFile.println(satsUsed);
//          dataFile.close();
//        }  
//      }
//    }

takes my sketch from 27,444 bytes (just under the 28,672 byte limit for the leonardo) to over 33,000 bytes. Is there a seriously trimmed down version of the SD library or perhaps the adafruit OLED display library that anyone knows about?

sprintf() is large because it has to incorporate a scripting language. Try using more primitive operations like strcpy().

        char filename[13];
        strcpy(filename, date);
        strcpy(filename + strlen(date), ".txt");
        if(!SD.exists(filename))
            Serial.println("Making Directory");
        File dataFile = SD.open(filename, FILE_WRITE);

I'll give that a try....i use sprintf in a couple of places so maybe I can trim some fat there.