Need Help in Serial data read.!!!

Hallo everyone....
i have a problem on arduino using serial communication,,
i am trying to rotate servo using the x and y value from accelerometer sensor(MMA7361) wirelessly.

list of component i use ;
Arduino UNO, 2 unit
Xbee series 1 module, 2 unit
MMA7361 accelerometer , 2 unit
push button, 1 unit
and Hitec HS422 servo , 3 unit.

the x, and y value from accelerometer 1, used to control servo A and servo B.
and the y value from another acccelerometer used to control servo C. and push button to control servo D

here's the code
Arduino 1.

int aPin = 1;//accelerometer pin
int bPin = 2;
int cPin = 3;
int buttonPin = 8;//button pin
int buttonState = 0;
void setup()
{ 
  Serial.begin(9600);
  pinMode(aPin, INPUT);
  pinMode(bPin, INPUT);
  pinMode(cPin, INPUT);
  pinMode(buttonPin,INPUT_PULLUP);
}

void loop()
{
  // axel 1 x
  int data = analogRead(bPin);
  if (data < 200)
  { Serial.write("a");}
  else if ( data > 200 && data < 350)
  { Serial.write ("b");}
  else if (data > 350 && data <450)
  {Serial.write("c");}
  else if ( data > 450)
  {Serial.write("d");}
  
  //axel 1 y
  int data2 = analogRead(aPin);
  if (data2 < 200)
  { Serial.write("g");}
  else if ( data2 > 200 && data2 < 300)
  { Serial.write ("h");}
  else if (data2 > 300 && data2 <350)
  {Serial.write("i");}
  else if( data2 > 350 && data2 < 400)
  {Serial.write("j");}
  else if( data2 > 400 && data2 < 430)
  {Serial.write("k");}
  else if ( data2 > 430)
  {Serial.write("l");}
  
  //axel 2 y
  int data3 = analogRead(cPin);
  if (data3 < 200)
  { Serial.write("t");}
  else if ( data3 > 200 && data3 < 300)
  { Serial.write ("s");}
  else if (data3 > 300 && data3 <350)
  {Serial.write("r");}
  else if( data3 > 350 && data3 < 400)
  {Serial.write("q");}
  else if( data3 > 400 && data3 < 430)
  {Serial.write("p");}
  else if ( data3 > 430)
  {Serial.write("o");}
  
  int buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    Serial.write("1");
  }
  else {
    Serial.write("0");
  }
  delay(10);
}

Arduino 2,

#include <Servo.h>
#define take 10
#define release 170
int servoPin = 8;
int servo2Pin = 9;
int servo3Pin = 10; 
int servo4Pin = 11;
Servo aservo;
Servo bservo;
Servo cservo;
Servo dservo;
char val;
void setup()
{
  Serial.begin(9600);
  aservo.attach(servoPin);
  bservo.attach(servo2Pin);
  cservo.attach(servo3Pin);
  dservo.attach(servo4Pin);
  aservo.write(65);
  bservo.write(90);
  cservo.write(100);
  dservo.write(release);
}
void loop()
{
 if(Serial.available()){
  val = Serial.read();
  delay(10);
  switch(val)
  {
    case'a' :
    aservo.write(0);
    break;
    case'b' :
    aservo.write(65);
    break;
    case'c' :
    aservo.write(120);
    break;
    case'd':
    aservo.write(160);
    break;

    case 'l':
    bservo.write(10);
    break;
    case 'k' :
    bservo.write(30);
    break;
    case 'j' :
    bservo.write(60);
    break;
    case 'i' :
    bservo.write(90);
    break;
    case 'h' :
    bservo.write(120);
    break;
    case 'g' :
    bservo.write(180);
    break;
    
    case'o' :
    cservo.write(0);
    break;
    case'p' :
    cservo.write(30);
    break;
    case'q' :
    cservo.write(50);
    break;
    case'r':
    cservo.write(80);
    break;
    case's':
    cservo.write(100);
    break;
    case't':
    cservo.write(120);
    break;
    case '1' :
    dservo.write(take);
    break;
    case '0' :
    dservo.write(release);
    break;
    default:
    break;
        
  }
    Serial.print(" data = ");
    Serial.println( val);
  
  Serial.flush();
 }
}

the problem is, the data that i received in the second arduino is not exactly what i sent from the first arduino.. and sometimes the receiving only from one of each sensors.
could anybody help me please???

Thank you very much

You have a 10 mS delay PER CHARACTER in the receive loop, limiting the receiver to 100 characters per second. Your send side has a 10 mS delay PER MESSAGE (5 characters?). 9600 Baud is about 960 characters per second. You are likely running out of buffer space in the receiver.

Take out the delay in the receiver or greatly increase the delay in the sender.