DANG SPI!!!!!

RobDrizzle:
Continued...

// setting cursor for printing on second line of display...

lcd.gotoLine(2);
Serial.print("                     ");
delay(10);
lcd.gotoLine(2);
Serial.print("Base ");
delay(10);
lcd.gotoPosition(43,8);
Serial.print(nodetemp4);
Serial.print("F ");
delay(10);
lcd.gotoPosition(79,8);
Serial.print(humid4);
Serial.print("%");
delay(10);
lcd.gotoPosition(109,8);
Serial.print("A/C");
delay(10);

lcd.gotoLine(3);
Serial.print("                     ");
delay(10);
lcd.gotoLine(3);
Serial.print("Indr ");
delay(10);
lcd.gotoPosition(43,16);
Serial.print(nodetemp2  );
Serial.print("F ");
delay(10);
lcd.gotoPosition(79,16);
Serial.print(humid2);
Serial.print("%");
delay(10);
lcd.gotoPosition(109,16);
Serial.print(voltage2);
delay(10);

lcd.gotoLine(4);
Serial.print("                     ");
delay(10);
lcd.gotoLine(4);
Serial.print("Attc ");
delay(10);
lcd.gotoPosition(43,24);
Serial.print(nodetemp3);
Serial.print("F ");
delay(10);
lcd.gotoPosition(79,24);
Serial.print(humid3);
Serial.print("%");
delay(10);
lcd.gotoPosition(109,24);
Serial.print(voltage3);
delay(10);

lcd.gotoLine(5);
Serial.print("                     ");
delay(10);
lcd.gotoLine(5);
Serial.print("Otdr ");
delay(10);
lcd.gotoPosition(43,32);
Serial.print(nodetemp1);
Serial.print("F ");
delay(10);
lcd.gotoPosition(79,32);
Serial.print(humid1);
Serial.print("%");
delay(10);
lcd.gotoPosition(109,32);
Serial.print(voltage1);
delay(10);

logfile.print(", ");
  logfile.print(nodetemp2);
  logfile.print(", ");
  logfile.print(humid2);
  logfile.print(", ");
  logfile.print(nodetemp3);
  logfile.print(", ");
  logfile.print(humid3);
  logfile.print(", ");
  logfile.print(nodetemp1);
  logfile.print(", ");
  logfile.print(humid1);
 
 
  logfile.println();

// Now we write data to disk! Don't sync too often - requires 2048 bytes of I/O to SD card
  // which uses a bunch of power and takes time
  if ((millis() - syncTime) < SYNC_INTERVAL) return;
  syncTime = millis();
 
  // blink LED to show we are syncing data to the card & updating FAT!
  logfile.flush();
  delay(10);
 
  }
}
//-------------------------------------------------------------------------------------

// function to print a PROGMEM string
void printP(const prog_uchar *str)
{
char c;
while((c = pgm_read_byte(str++)))
Serial.print(c,BYTE);
}

You could save a lot of code by sticking your parameters in an array (in ram) and the labels (and lcd screen positions if need be, but better if logic can generate them) in a matching array (in progmem) and looping through to print your results. That includes the delays.