programmer is not responding with stacked shields
The culprit will be the XBee shield.

It uses the TX and RX pins.  These are also used by the programming system.  If anything is connected that uses those pins while you try to program it can interfere with the programming data.

I usually design shields that use the UART to include a pair of diodes to isolate them from the rest of the UART system and allow programming to work while the shield is connected.