Getting delays in XBee mesh network

I constructed a simple network with 1 coordinator, 1 router and 1 end device(ED). I am sending some sensor values from ED to coordinator through router (I am forcing the ED to join router by switching off coord. after router first joins it, so that I can test without moving ED away from the range of coord.).
The problem is there is a delay at the coord. and the problem solves if I reset the Arduino that is interfaced to the coord. (I get no delays if coord. and ED talk directly but I want communication via router)
How can I solve this delay problem as I cannot always manually reset Arduino?
The ED continuously sends sensor values to coord. (with delay of 100ms between each value), so is it because I am switching on the coord. after ED and the delay is due to some buffer issue as values transmitted before coord. is switched on is buffered somewhere?
I am using zigbee AT mode with dest. addresses in ED and router as all 0 and leaving all other settings as default.

Why are you just not disabling Joining on the Coordinator after the router joins? You can do that by setting NJ to 0 after the router joins. You can even just simply set a known join time with the NJ command.

Both should resolve the issue and speed up your process.