v0.2.5
Restart the game after this installs.
Starting a match put the two players in the map at very different times. Logs from both machines showed one beginning its load 4.7 seconds after the lobby said the match was live, and the other 44.6 seconds after.
Two faults behind it.
The lobby was not actually waiting for anybody
Nobody is supposed to be released into a match until every player reports that they have loaded. The mod reported "loaded" the instant it began, so that check was passing before anyone had loaded anything. Everyone was released immediately and each machine then started its own load whenever it got round to it.
It now reports what has actually happened, so nobody is released until the map has genuinely begun loading everywhere.
The loading screen was starving the thing that runs the load
The loading screen hid the lobby behind it. The lobby was also the thing keeping the mod's work moving on the game's own thread, and hiding it stopped that. The call that starts the map load is exactly that kind of work, which is where the 4.7 and 44.6 seconds went.
The lobby now stays where it is and simply stops answering the mouse, so it keeps the work moving and the loading screen still takes every click.
Still to come
You will load into the same map at the same moment, and you still will not see each other. Nothing about the players crosses between machines yet. That is the next piece of work and it is a large one.
Install
Copy version.dll, MultiplayerEvolved.dll and the MultiplayerEvolved folder into Halo Campaign Evolved\Meteorite\Binaries\Win64\. Everyone you play with needs the same version.