I've got savegame.wld and crusade.wld backed up every which way, so I can easily experiment with them.
First, I assume that all save info is in the above-cited files (the former for WC and SM, the latter for SM2) and that there are no other files carrying save data. If this isn't the case, then I've simply got egg on my face.
Second, I edit the save files thus: (1) copy crusade.wld into a separate directory where I store the editor, (2) edit the file, (3) copy it back into gamedat, (4) fire up game to test changes. My original crusade.wld is, of course, backed-up in yet another directory. Finally, my savegame names show the next mission I'm going to play, not the one I just finished, i.e., Corsair 3-1 was the save I made after I finished Corsair 2-2.
"Bossman" Chen was listed on the Killboard as KIA after I completed Firekka 1-2 (he was not my wingman on that mission). His death was mentioned in-game by NPC's after I completed Firekka 2-2. His name has disappeared from crusade.wld. He's not shown as KIA; he's simply no longer on the wingman list. His name has also been removed from the Killboard in-game.
My most recent save, Corsair 3-1, shows "Angel" and "Iceman" as KIA's on the Killboard. Neither of these NPC's was my wingman when they became KIA's. "Iceman" shows up on the Killboard as KIA after I completed Firekka 3-2.....he's not sitting in the bar, yet he pops up and introduces me to the newly-arrived "Jazz." "Angel" shows up as KIA on the Killboard, after I complete Firekka 4-2 and she's seen no more in the bar....even though the NPC's have yet to say anything about her death.
Crusade.wld, accessed by WCSave, tells a somewhat different story: "Spirit" shows up as a KIA in save Corsair 1-1 (made after I completed Firekka 3-2) and "Hunter shows up as KIA in the next save, Corsair 1-2. However, both are still active in game (just finished two missions with Hunter...alive at the end of both) and not listed as KIA on the Killboard, which shows only "Angel" and "Iceman" as KIA's.
OK, so I edited save Corsair 2-2, the save immediately before my current save, Corsair 3-1. Both saves show "Spirit" and "Hunter" as KIA, so I made them active in Corsair 2-2 only, copied the modified crusade.wld into GAMEDAT and loaded save Corsair 2-2. The Killboard now showed no KIA's. Making "Spirit" and "Hunter" active in the save file, made "Angel" and "Casey" active in the game! I next loaded my most recent save, Corsair 3-1, and "Hunter' and "Spirit" were now shown as KIA's instead of "Angel" and "Iceman." "Spirit" was no longer sitting in the bar as she is in Corsair 3-1 in the unmodified crusade.wld. I used the editor to check crusade.wld and, yes, "Hunter" and "Spirit" are shown as KIA....just as they were before. So it looks like even if I didn't edit Corsair 3-1, the changes I made to Corsair 2-2 caused changes in 3-1.
I did all this three times and got the same results each time. So, if you're still with me, this is what I've got. Looks like there's some confusion over wingman names between the data in the save and what's shown in the game.
I'm tempted to modify the save so that "Angel" is still active (since she's supposed to be assigned to the "Concordia" soon) and "Hunter" is still active because he was at the debriefing when I finished Corsair 2-2, even though the save has him dead since Corsair 1-2. OTOH, maybe I'll just "play it as it lays." Once you start editing files, you're kind of playing with the game, not playing the game.
So I guess what you've got to tell me is that there's another file(s) in GAMEDAT which supplies wingman data.....then I can really feel like an idiot.
Finally, I've got a feeling I've just rehashed some old news for about the nth time. I mean how many times has this topic probably been beaten to death over the last 15 years.