Funny you mention the Exceptions, I happend to checked on that out boredem and noticed it had BitComet showin old ports I had opened from long long time ago. I only deleted them since they were not being used. Every time you click on the "random" button for BitComet ports, it will tell both your Windows Firewall, and your Router to open that port. It's just that Windows Firewall won't remove it when you don't use that port anymore.
You shouldn't have needed to reinstall BitComet after you cleared out your Exceptions list, uPnP takes care of it. And reinstlling it would have it open up more ports, since it would have changed your port number again.
Now if you change ports often, that might be filling the exceptions list with a lot of usless entries, and perhaps windows firewall won't accpet any new bitcomet exceptions once you reach a certian number of them. I wonder if BitCommet can be set to remove unused ports in the Exceptions list?