I have found out what causes a supposedly fresh installation to think that it is an upgrade (my question #2 in the previous post). When you run install-mac.sh -u, it is supposed to delete all of the package receipts for the zimbra modules, but in fact it does not delete them. Next time you run zmsetup.pl, it looks for those receipts to distinguish between a new or upgrade installation.
The problem is, I can't see why it is not deleting those receipts. At line 197 of the script, it executes the following shell command:
rm -rf /opt/zimbra /Library/Receipts/zimbra-* 2> /dev/null
This should certainly work, since you have to run the script as root, and it does in fact delete /opt/zimbra, but the receipts stay there. I even copied that line in the script and pasted it into the command prompt, and this time, it worked. I have no clue why it would not work when issued from the script, but it doesn't; I even tried it on a different machine and got exactly the same symptoms.
Anyway, I now know what to do to solve at least that problem...