That's what it looks like to me as well. However, this might be a new design - Compare carefully to this picture, and you'll see that those headers are offset (and therefore have black plastic bits on the male headers), while yours appears to use stackable headers, which never have black plastic bits on the pins, because then you couldn't put them through the holes!
Try moving it just a little to the side, so the shield PCB rests on the female headers (as if you could push it all the way down).
If you've got less than the pitch of the connectors between the bottom of the male pins and the Arduino PCB (or the male pins are touching the PCB) then the pins are too long, your female headers are too short, or you need the black plastic bits for spacers. In this case, I'd probably just cut 4 pins off of a male header strip, pull the black plastic bits off, and then push them onto the corner pins on your XBee. You could also carefully trim the pins to be a little shorter, or you could get back in touch with Marcus for a replacement which matches the picture.
If you've still got 0.1" between the bottoms of the pins on the XBee and your Arduino PCB, then you're either not pushing hard enough or you've got a piece of something (probably a broken wire) stuck in the bottom of one of your female headers. In this case, you need to replace the plugged header on your Arduino.
Does this answer your question?