After each patch, I get one additional entry in the Add/Remove Programs list.
This is probably because each patch appears to Windows as a completely separate install (that just happens to be put in the same folder as something else).
We had the same issue with our product at work, but I can’t remember exactly what we ended up doing that solved it. It involved mucking about a bit with the confused mess that is Windows Installer UpgradeCode, ProductCode and ProductVersion properties.
I’ll have a look at our build rules this week to find out what the solution was.