Actually I just found something interesting. It doesn't happen on Xt debug builds. Could it be something as simple as compiler optimizations?
No, I think it's just the code. My Xt builds have the FS2NetD v.2 code base, which is basically a rewrite of the client and server to be more cross-platform, fix a ton of bugs, and add modular table support. The server side is largely the same (the v.1 server code was upgraded along the way too), except for validation and a couple of bug fixes that enhance compatibility with the new client code. The v.1 and v.2 servers do use the same database for users, stats, and mission/table CRCs, but they are otherwise incompatible. This bug is likely just something that I worked out in the new code, since most of the client code was either rewritten, or written from scratch.
EDIT: Crap, just realized that you might have meant that it did
happen with release Xt builds, but not
with the debug Xt builds. In that case I suppose that it could be optimizations, but I'm pretty careful about avoiding stuff like that. This wouldn't be the first time that MSVC6 kicked out bad optimizations though.
Multi.log shows some supposedly validated missions as invalid (not many, and no [V] missions, only from the mission pack), otherwise nothing that springs to mind.
It could just be that the missions aren't in the validation database. The log should give you the CRCs it detected from the missions that it declared invalid. Send me those mission names and the CRCs and I'll make sure that they get added to the database.