You could try to make that message event dependent on the arrival of said ship to make sure that the engine knows it's there before it tries to send the message.
MY GOD. THIS HAS BEEN HAUNTING MY NIGHTMARES AND IT FINALLY WORKED.
For the record, here's what I did:
- I had to un-chain the events.
- I had to make the SEXP of the Ace arrival trigger an event, not the other way around. (Noted: The events should be dependent on wing arrivals.)
- I had to time the events (since it was a chain, after all), to tie in the previous order of events. (Cest la vie.)
I can finally continue with my awful mission. But why do chains not work? I have a freighter (the Menes) that works in a previous chain, and is communicating just fine with the Ace.
Oh well. I de-linked the dependency and I'm much more happy with the results.
I have met a similar curiosity some time ago. Turns out that if you use send-message-list and one of the ships that are supposed to send messages has not yet arrived when the SEXP is triggered, even if they are in mission when their message itself is being played, the message will act like they were never there (therefore its sender will default to Command). Maybe you could verify if that isn't the case somehow.
The mission is already timed such that the wing/ship arrives before
the send-message-list (or at the same time). I don't understand why de-chaining it worked, but it did.
For the record, the way I have it: the Ace warps in, and then
the send-message-list starts.