Yes, that may be confusing. But it seems that your solution is to make everyone that runs a port upgrade python24 discover they don't have zlib anymore. Thats all I'm pointing out.
That would be avoidable without any hassle. depend_lib or ui_msg?
It also presumably involves you running through every py-* port and discovering whether they depend on zlib etc (at least I hope it does)
I think you're right.
To lower this risk, I could resign python24 port to separate some of its standard modules and add them as dependencies, but I doubt you would like this idea.
I'm fine with that as it won't break existing installations. But it doesn't solve your original gripe ... that people can install python24 and have zlib, and then install python25 and not have zlib. [Which I'm not sure is that great an issue]
If I add zlib dependency to python24, I'd also add it to python25.