I downloaded the SFC3 API last week, along with the latest DX8.1 SDK from Microsoft and it seems they're not longer compatible.
The initial problem is that the interface to InterlockedCompareExchange() has changed and common\thread\optex.cpp won't compile. The change is minor, just removing the void casts makes everything at least compile, except now there's an additional problem in that SFC3 no longer runs even unmodified; it crashes with an unhandeled exception error in d3d8.dll.
I ended up doing a system restore (Win XP) back to before I installed the Microsoft dX8.1 SDK, and SFC3 started running again just fine.
Before I spend too much time tracking down what evil things the DX8.1 SDK install is doing to my machine, what version of the DX8.1 SDK should I look for, and also, what service packs should I install for VC6 to match the original dev environment?
Sorry if this is a repeat question, I looked for similar postings but didn't see anything obvious. I posted the same question yesterday on the gamespy SFC Modding forums, and the nice folks there sent me here.