Well, the bug is in dgVoodoo.
Once I downloaded and tried SW with this wrapper, and it worked when I used the built-in VESA support. Now I've downloaded and tried it again, and it worked in no way.
When glide is active the wrapper keep a fake VESA driver installed to prevent DOS programs from communicating with the real VESA driver to keep the console window in text mode (it's important). When built-in VESA is used, no fake one is used, because it takes care of this. However there is a bug in 1.21, causing that always the fake one gets installed. I fixed it, and also make the fake driver enhanced (since the wrapper has no VESA support for XP for the time being), SW works with it.
However there is a thing that's not clear for me: the palette of SW is messed up under XP, while it is good under 98 for me. I don't know the source of the problem, but I don't have more time to deal with it now. Anyway, I attached the patched file, maybe you can use it.
I found other bugs (in spite of 1.21 is a bugfix version
p.s.: type "set BUILD_CONVTEXTURES=1" in the command line and start the game.