O motivo é que msvc9compiler.py em Python26\Lib\distutils não analisa a versão do VC corretamente. Você pode verificar find_vcvarsall(version) em msvc9compiler.py:sempre vira versão =9, significa que VC9(2008) funcionará, mas nunca VC8(2005). A maneira estranha de compilar algo usando setup.py com VC8 é fazer versão =8 manualmente na função acima, depois de compilar e instalar, recupere-o para old.