please help with strange behaviour when using arduino megas with Xbee Pro 900 S3

Hello,

I am trying to get my Xbee S3B's communicating with each other for use in a quadcopter project.

I would like to describe a very basic experiment that I have carried out succesfully, as well as a 2nd experiment that has resulted in failure, which I hope you will be able to help me rectify.

Experiment One (the succesful one) :

Use an xbee connected to an arduino to send data to another xbee connected to the xtuc software

Components: 2 Xbee Pro S3b's with Crius Adapter (call them the sending and recieving Xbees).
1 Arduino Mega 2560 Board

Software: XCTU version 6.3.4
Arduino IDE 1.6.13 (both running on a macbook air running yosemite os x 10.10.5)

Setup:
The sending Xbee is connected to the hardware serial port of the Mega (details below). The receiving Xbee is connected to my computer using a mini usb cable and the crius adapter.

The sending Xbee is connected to the Mega with the following pin connections:

GND -> GND
5V -> 5v
RXD -> 18 (Hardware Serial 1 Tx)
TXD -> 19 (Hardware Serial 1 Rx)

The code on the A and B Mega boards is as follows:

int x;

void setup() {
  // put your setup code here, to run once:

  Serial.begin(9600);

  
  Serial1.begin(9600);
  x = 0;

}

void loop() {


  Serial1.print('a');
  delay(65);



}

Finally, the sending and receiving Xbees have been configured on the XTUC software as follows:

Receiving Xbee (connected to XTUC software)

Network Id (ID) :7FFF
Routing/Messaging Mode (CE): Standard Router (0)
API Enable (AP): Transparent Mode (0)

Sending Xbee (connected to arduino mega )

Network Id (ID): 7FFF
Routing/Messaging Mode (CE): Indirect Msg Coordinator (1)
API Enable (AP): Transparent Mode (0)

When the arduino with the attached sending Xbee runs its code, the receiving xbee connected to the xtuc shows the sent 'a' characters in its console:

This is the expected behaviour and the experiment is successful.

As for Experiment 2:

Use an xbee connected to an arduino to send data to another xbee connected another arduino.

Components:

2 Xbee Pro s3bs
2 Arduino Mega Boards

Software: XCTU version 6.3.4
Arduino IDE 1.6.13 (both running on a macbook air running yosemite os x 10.10.5)

Setup:
The sending and receiving xbees are both connected to their own arduinos. (in both cases via hardware serial pins)

The pin connections are as follows:

Sending Xbee -> Arduino Mega
gnd->gnd
5v->5v
rx -> 18 (hardware serial 1 tx
tx -> 19 (hardware serial 1 rx)

Receiving Xbee -> Arduino Mega
gnd->gnd
5v->5v
rx -> 14 (hardware serial 3 tx)
tx-> 15 (hardware serial 3 rx)

The code on the 'sending' arduino board is the same as above:

void setup() {


  Serial.begin(9600);  
  Serial1.begin(9600);

}

void loop() {

  Serial1.print('a');
  delay(65);


}

and the code on the receiving arduino mega board is :

void setup() {


  Serial.begin(9600);
  Serial3.begin(9600);

}

void loop() {

  Serial3.flush();
  Serial.flush();

  if( Serial3.available() ){
  Serial3.flush();
     Serial.println(Serial3.read());
  Serial3.flush();
  }
  delay(100);


}

The xbees are configured as in the previous experiment.

At this point I expect that the serial monitor reading from the receiving board's port should, as in experiment when receiving into the xtuc software, display the stream 'a' characters that are being sent. However, instead I get a stream of integers, that stay at a constant value of 254 (but occasionaly jump to 250):

This is the behaviour that I need to fix.

Please let me know if you need any more details of my set up. As you can see from my set up, the rx pins of both of my xbees are connected to the tx pin of their respective serial ports. From my small understanding, I expect that the set up should involve one (either the sending or receiving) of the xbees being connected rx to rx. However, when I swap the rx and tx pins in either of the xbee connections, the sending behaviour stops.