Some things I came across while adding distutils support to some code:
* From a docstring in distutils/versions.py: 0.4 0.4.0 (these two are equivalent) 0.4.1
Does this mean that 0.4.1 is equivalent to 0.41 in the strict versioning class? I'd suggest adding that, just to make it crystal clear.
* The name option in setup.py: It's not clear if it can/should contain spaces; given that you mention underscores, I assume they're as space substitutes.
* Building a distribution: it creates hard links to files. This means that if you delete a file and rebuild the dist without erasing the hard-link-filled subdir, the deleted file is still present in the distribution. It's probably easiest to blow away the whole <product>-<version> directory, rather than attempting to scan its contents and update it.