Update:
As reported earlier, the game still slowed down ofter running missions.
So I expanded my search, and tried to monitor all network activity of the program. I also tried to use WinDbg to monitor for runtime errors.
I can say that the configuration of the SFC for the networking is temperamental, however I think I have a more solid setup right now. However, I still get the general slow response of the game after missions. Please note all results below include the test of replacing the dx files.
I can also say that I'm not sure where the problem is.
WinDbg would report an error if the program could not find the directory servers, but does not show errors after moving (etc,) after running a mission.
Wireshark showed me if the were other problems communicating, and what information exactly was sent/recieved. After running a mission there are no dropped packets, no lost connections, and always the same info is transmitted when moving (etc) after running a mission. Only things happen a lot more slowly.
I can see no evidence it is waiting on the server. For after running a mission, it slows down, yes, but I can still move and do other things for the time it is still slow. I would think that if it were some hard pause waiting for mission stats or something, the server would not allow you to move until the previous operation had completed and then allowing the game to respond.... (Hence the progress bar whenever you perform an action)
I don't see any evidence that DirectPlay or any networking related stuff could be the cause. Using Wireshark and ProcessExplorer, I can see it loads dplaysvr.exe and runs fine. And based on appearances, it looks like it only uses that when drafting anyways. For wireshark shows no directplay communications when just talking to the server about db stuff, like mission running. WinDbg shows no problems with DirectPlay.
Also I see no evidence it is trying to perform some file action that is failing, at least according to Win 7 resource monitor.
I might be barking up the wrong tree, but it appears that some specific part of SFC starts to 'hang' for a bit after missions. Not breaking the game, but causing certain portions to operate slowly. This is evident by the slow network communication seen in wireshark. This is also evident by the map going slow or sometimes showing information out of sync with the server. The server winds up waiting on the client to talk when normally they would shoot packets quickly and the move would complete quickly. Again, WinDbg doesn't reveal anything while this is happening.
So I am expanding my brainstorming beyond (but not excluding completely) networking. I must take into consideration:
1) Why only after missions?
What does SFC do after the completion of a mission?
Send results to server.
???
2) Why does it eventually clear up?
It must be something not static (obviously) like a setting, or it would always happen, but it is something that fixes itself, changes constantly.
Timeout? I don't think so, because that would indicate it tried to do something over and over and suddenly after a min or two it works for no obvious reason. However I can't think of anything that would suddenly change after 2 min allowing to work. (Note I assume it never fails because game returns to normal operation)
If Timing out, what things could time out?
network
File write? I see it write other files inside it own dir just fine.
????
Calculation? Thats what I'm thinking. But can't verify yet.
Buffer?
Anyhow, who knows. I have to ponder this. I'm loading the Application Compatibility Toolkit to get ideas. Its hard to find comparisons of exactly what changed from XP to Vista when I don't know what to look for.
EDIT: Just though it relavant to add, WinDbg does show errors in SFC, just none of them openly apply to this mission thing, slowness.