API2 Communication works then drops out

Hi All,
I have XBee Pro SB2s (XBP24BZ7), and am creating a mesh networking using APIMode 2.

I have a Co-Ordinator plugged into XCtu using an XBee Explorer.
I have an EndPoint attached to an Arduino Nano. It is sending a 0x90 Recieve Packet every 1000ms

When I open the XCtu console, I get a number of “Receive Packet” messages through OK, and then they stop. Sometimes they don’t start. Normally messages will stop after 1-5 messages.
The Sender says it is still going, and is getting Success responses.
Network Discovery Scanning works OK, but I seem to never get the messages from the EndPoint while it is running.

Both Devices have had only these configuration changes:
ID PANID = BAA2
AP APIEnable=2

Co-Ordinator:
Function Set: Coordinator API
Firmware Version: 21A7

End Device:
Function Set: End Device API
Firmware Version: 29A7
Sending using the https://github.com/andrewrapp/xbee-arduino library.
uint8_t status = xbee.sendAndWait(placeMessage, 1000);
This returns status==0, indicating success, as long as the Co-Ordinator is powered on (regardless of wether the console is open or recieves the messages).
The message is a ZBTxRequest addressed to The coordinator (0000…/0000…) and with a 1 byte payload.

I have tried:
Different physical XBees for Co-ord and End Device.
Sending different data.
Re-flashing the Firmware a few times.
Resetting the Co-Ordinator (XCtu askes me to this quite often)
Instead of using XCtu, I tried reading using SerialPort in C#, which gets the packets OK and I can read them and parse the payload. However it suffers the same problem: the serial port just stops having data to read.

What could I be doing wrong?