Arduino Uno + Wireless proto shield + Wifly module

It might be a timing problem. The serial data comes to the Arduino quite slowly, so allowing some time for that might help:

uint32_t lastRead = 0;

void loop() {
  lcd.cursorTo(1, 0);
  // Terminal routine
  // Always display a response uninterrupted by typing
  // but note that this makes the terminal unresponsive
  // while a response is being received.
  if (SpiSerial.available() > 0) {
      lcd.clear();
      lastRead = millis();
  }
  while ((millis() - lastRead) < 50) {
      if (SpiSerial.available() > 0) {
          lcd.print(SpiSerial.read());
          lastRead = millis();
      }
  }
}

This will keep reading in bytes and displaying them as long as they are received within 50 milliseconds of each other. Then anything later than 50 milliseconds will clear the lcd and start printing again. That might be too long; it depends on how fast you are running the serial interface to the WiFly module and how much time there is between packets.