Если процесс A отправляет два сообщения процессу B, то эти два сообщения гарантированно поступят в том порядке, в котором они были отправлены.
Если процесс A отправляет сообщение процессу B, а затем сообщение процессу C, нет никакой гарантии относительно порядка, в котором они получены.
Аналогичным образом, если процессы A & B отправляют сообщения на C, нет никакой гарантии относительно порядка их получения.
Это фундаментальное свойство модели передачи сообщений, порядок вычислений в разных процессах не определен, вы можете только осмысленно говорить о порядке, в котором используется отправка сообщения. Одним из следствий вышеприведенных правил является то, что если A отправляет сообщение C, затем сообщение B, а после получения сообщения B отправляет C, то C может получать два сообщения в любом порядке. (На практике, я подозреваю, что это никогда не меняется на одном узле, но может легко произойти, если три процесса находятся на разных узлах.)