When you come out of transparent mode, I assume that the XBee exposes the payload of 802.15.4 frames to your application. However, it's possible that your data will be packed into a ZigBee APS/NWK frame too.
http://freaklabs.org/images/stories/802_15_4_Zigbee/general_frame_format.jpg
(source: freaklabs.org)
Data is sent in packets - so there is no need for a sync header
There is already a 2 byte checksum field (FCS) - so there is no need to add your own
The maximum allowed payload size will be less than 128 bytes
Frame delivery and reception are unreliable
The XBee API may allow you to read the sequence numbers from the underlying packets. If not, you will need an incrementing sequence number and a retry mechanism.