The problem was the opendir implementation. The handle that is passed around to _findnext and friends is supposed to be a intptr_t, but was only a long instead. I suspect the problem only showed up on 64-bit builds beforehand.
Something is messed up with Strife though, it crashes on boot.