For DrupalCon sites, we want to limit people to buying one ticket per person. (If you want more, prepaid tickets can be bought in bulk, and then handed to the actual people for registration.) If someone already has a registration, we can use rules to alert users to their status on the product page, and remove the item from the cart as it is added. But we can't disable or replace the actual button. If someone misses the status message and clicks, it isn't great UI.
I think there should be a rules action to achieve this.