I ran one site where the hosting provider was a little lax in keeping the cPanel updated with fixes. Intruders were able to install arbitrary files -- they used it to install a phishing page to harvest logins and passwords, and sent out emails directing bank customers to that page to log in.
If an attacker can install arbitrary pages on a server -- by any means, not just through ZP -- then they could *easily* grab the contents of the zp-config file, and have access to the ZP database. Then getting a dump of the stored passwords hashes is easy. That said, if they can gain that access, they can do what they want with you website.
But, as I said earlier, the ZP system is pretty good as-is. By combining the user ID with the password, the length means that brute-force and rainbow table attacks are unlikely to succeed. Currently downloadable rainbow tables (which would break passwords *very* quickly on average PCs) are approaching 8 characters for md5 hashes, so the combined length will be beyond that in the vast majority of cases. Salt adds to the length, which would help strengthen short username/password combos. A dictionary attack is still feasible, but certainly only effective against common or weak passwords, or simple derivatives of them.
Do I think ZP really needs salting added? No, not really, but it would help. But I also think you've made some very incorrect assumptions in your reasoning.
Assuming the attacker has no access to the encrypted value is the exact wrong assumption. The point that salting and using stronger encryption methods is based on the assumption that the stored passwords could be compromised. If you want to assume total physical safety of the stored passwords, then you would just store them clear. The reason for salting and hashing is that the actual passwords will remain secure even if the stored values are compromised. An attacker may be able to compromise the security of one site, but they won't gain any additional information.