This sort of thing is most common on systems where the communications link between controllers is unreliable and the logic and configuration has not taken into account the effect of disconnected or failed messages.
What network(s) are you using; Ethernet, DH+, DH485, DF1 ?
Disclaimer: I'm very good with SLC and Logix communications but this is "as I understand it". I don't work on the development team and have no special understanding of the firmware.
The SLC-5/0x controllers have a 4-message "buffer" and a 10-message "queue".
In the buffer, the messages are processed by the communications subsystem and actually sent out onto the network and wait for replies. For MSGs that have a Write data payload, the data is taken from the source registers and held with the MSG in the buffer.
In the queue, the messages are not yet processed by the communication subsystem and the data from the Write source files has not been copied. These messages are waiting their turn.
In theory you could execute fourteen MSG instructions in one scan and they'd all run to completion.
There are some variations on this, considering the different stacks and tokens and arbitration and handshaking of the various networks available for the SLC family.