After lots of investigation, this is what I found.
With SMAC and SMACX for me, the host crashes back to GameRanger the moment the joiner enters the lobby. This is different to what others are reporting and it's not what used to happen for me, but it's probably related. I suspect something is a little unstable/sensitive with SMAC/SMACX using Internet TCP/IP for DirectPlay, as none of the other DirectPlay games I tested suffer from this.
When I changed GameRanger to force SMAC/SMACX to use IPX for DirectPlay instead, everything worked perfectly, every time.
I tested SMAC by itself from a fresh install plus the "SMAC_Win2000_XP_Compatibility_Update_v1.03f.e xe" update. I also tested SMAC after installing SMACX and the "Sacxpv2.exe" update. I also tested SMACX. All had the same problem, and all worked perfectly with the fix I made.
As part of this fix, I've also made it so that GameRanger automatically does the ForceOldVoxelAlgorithm=1 change as well, for anyone that has forgotten or is unaware of it.
The fix will go into the next GameRanger client update.
Something else that may or may not be in the FAQ. If you uninstall SMAC without uninstalling the SMAC 1.03f update (not obvious unless you look in Add/Remove Programs) then the next time you install SMAC, you need to run the update twice. Once so it "removes" the update that it thinks is still there, and twice to actually install the update.