This issue is actually somewhat complex, and decidedly different behavior from the way that setuptools works. While it affects the TurboGears tools, I believe it will affect others at some point too.
We provide two packages for use with TurboGears: TurboGears2 and tg.devtools. We're only now deprecating support for Python 2.4 (we had to wait until CentOS stopped supplying it by default).
This means that we have to have special, old versions of the packages that we use. In order to accomplish this, we specified the dependency_links in our setup.py, and the allow_hosts directive in our setup.cfg. This means that when someone does "easy_install tg.devtools", everything just works: Our egg index is used, and only that index. People got the versions of the packages that they needed, and it worked.
Now, virtualenv has switched to using distribute by default. As a result, we are getting more and more people who have their virtualenv ignoring the directives we supply, resulting in them getting versions of the packages that are known to fail.
To make things even more confusing for people, if they do "easy_install tg.devtools", and hit Control-C immediately after that package is installed (before any others are downloaded), and then re-run the same command, then these directives will be honored and used.
Finally, when using "python setup.py develop", these directives are also ignored. The same problems occur there.