`distinct_id` is intended to uniquely identify events originating from a single user.
The way I would have designed the above interaction so as to associate an event with 2 distinct_ids, I would create a message_id (if it doesn't exist already) and create a SentMessage event on User A and a ReceivedMessage event on User B and ensure message_id exists on both the events.
Does that help?
Nope, you should have 'SendMessage' and maybe 'getMessage', both will have the people property distinct_id by default (if identification was properly set) . What do you want to track exactly? Or what question do you want to answer through Mixpanel?