Findings so far:
1) Shortly after the SF carriers execute the Naos command station, a carrier deploys about 108 ships to replenish losses. On the same frame or nearly so a general AI reinforcement triggers. I had reinforcement logging on at the time and this led to an OutOfMemoryException from the sheer weight of the logs. Why the text got that big is a mystery to me, as even 1 Megabyte of text is a loooooooot of text, and it would probably need at least 100MB or 200MB to really challenge it. But perhaps something else is going on there. I have it using a memory-efficient custom buffer for such thing (as opposed to serial string concatenation which is murder on efficiency when there's thousands of concats).
Anyway, if either of you have reinforcement logging on, turn it off and try again
Advanced logging should be fine, as the sheer volume is much lower there. That's why the toggles are separate and the reinforcement has (iirc) warnings in the tooltip, incidentally. I suppose I could just make the logging less detailed at the guard-post level, but I think I'm going to change the overall concept soon anyway.
That out-of-mem thing didn't stop the game from running (the garbage collector presumably got a shot at it and it took another go on the next frame) but this definitely would have caused a desync.
2) Doing a retest without the out-of-mem problem, there were no crashes. This was in SP so doesn't test the desync thing. But from the SF logs it's not actually trying to attack Naos. But Naos was in the way to Struve, and Struve is where they wanted to be. Apparently they stopped for tourist recreation when the oppportunity presented itself. I'm currently investigating giving the SF a bit sterner orders about what to do when in a human system.