> _spawnl and friends are obviously broken in Windows. Here we have a nasty case. The function exists for portability from Unix;
Actually these are CRT functions. The CRT on Windows has a version number in its DLL name, new versons ship with Visual Studio, and they occasionally do intentionally break stuff from version to version.