// state of received data compared to expected
boolean startState = false;
// stores incoming data
String response = String("");
// data compare
String expected = String("START");
void setup() {
 // begin xbee com
 Serial1.begin(9600);
}
void loop() {
Â
 // loops through checking received buffer for new data to compare to expected
 if(!startState){
Â
  if(Serial1.available())
  {
   while(response.length() < expected.length()) {
    response += (char) Serial1.read();
   }
   // If we have a match, success
   if( response == expected) {
    startState = true;
   }
  }
  delay(100);
 }
 // If we have success, start sending data every second
 if(startState) {
  Serial1.print("running...");
  delay(1000);
 }
 delay(100);
}
Notice that Serial1 uses pins 18 and 19 on the Mega 2560 (Serial - Arduino Reference 3rd paragraph). I was not able to get SoftwareSerial working on any of the digital pins on the Mega 2560. I would just try and stick with the hardware serial to connect to your xbee.
On a side note, I spent a lot of time trying to debug code when all that was wrong is I needed to either update the xbee firmware or change some parameters. I would try this:
Adapt my code to your setup
Do a full update of the Wifibee's firmware, even if you already have the newest one, upload it again
Load the default configuration parameters
If you have accessibility to a oscilloscope, probe your data lines to make sure you are getting the data you expect