Xbee

Regarding the XBees, which has what firmware?

Regarding the master sketch, I'd debounce the button. The button will be held down for some amount of time, maybe 50-100 milliseconds. In this time, the loop() function will execute several times at least, and send a string of Ds. That's messy at best. Better if we had one D per button press.

Regarding the slave sketch, it will never turn the LED off. The else will never be executed since there is nothing but Ds sent.

Still, if all is configured correctly, I would expect the following behavior. The first time the button is pushed on the master, the slave LED should illuminate and stay on. Further button presses will have no visible effect.