PeterH:
Is your XBee using the same serial port as the USB connection to the host?
I'm using the Xbee Sparkfun shield , it has a little switch that you need to move when you are uploading a sketch. This disconnects pin 0 and 1 from the Xbee so the sketch can be uploaded. After the sketch is uploaded, you slide it back and it reconnects pins 0 and 1 to the xbee can communicate with the Arduino. The serial monitor works when it's in the latter position. But I'm not really sure about the answer to your question. I don't have a deep understanding of the serial connections.