UDP Like Protocol for XBee
It sounds like you're using your XBee in 'data mode', which simulates a serial (stream) connection. You could be observing missing bytes for a number of reasons, including actual dropouts (though the XBee should account for that with retransmits) or bugs in the transmitting or receiving code, or simply a failure to read data from the XBee serial port fast enough.

XBees also typically have a packet-based API mode, however, which lets you send individually addressed packets of data to receivers, with variable acknowledge, retransmit, etc, settings. This lower level protocol is intrinsically packet based, so there's no need to implement your own packetization, though it may be worthwhile to add an application-level checksum such as a CRC to verify the integrity of your data.

There are a number of different XBees and XBee clones out there; check the manual for your particular model for API documentation.