There are times when your contacts might receive their messages out of order from which you send it. The longer the message, the higher possibility of this happening.
Here are possible reasons for your messages being delivered "out of order":
Longer messages will be cut into segments that are no more than 160 or 70 characters depending if it was encoded with GSM or UCS2 encoding, respectively. We send "headers" that contain instructions on how to "stitch" the message back together in order. However, some carriers do not support concatenation and messages will be sent as loose segments. These segments may arrive out of order as well.
When segments travel through the networks on its way to the user's device, segments that are part of the same message may travel over different threads. (It's a bit like lanes on a highway. Two cars may enter the highway together, but depending on the speed of the lane they were in, the second vehicle may arrive ahead of the first.)
Segments of the same message are processed in order, however, the actual order that the message left our network is not certain and the timing may still likely be within the same thousandth of a second.
Unfortunately, there is no way to guarantee that segments will arrive in the order that they were sent. Carriers like Sprint do not support concatenation on all devices, so segments will be received separately and may possibly be out of order.