I'm going to chime in here and say that I don't think OP overreacted by throwing them away. Some people - myself included - get the squicks if someone spends too much time hovering over my food. I'm good about making allowances for waitstaff and whatnot, but for someone to stand over a plate of cupcakes eating the licorice? No thank you. I wouldn't be having one, and I would be disappointed by the muncher's behavior.
Eating one was thoughtless - some people simply don't have the same reactions to these types of things that I and other people do. But to go back and eat most of them - when you know that there are people (especially the baker herself!) who do care, very much, about it - that's bully behavior. He was trying to get some sort of rise out of OP, and he wasn't as successful as he hoped to be.
The truth is, crying probably would have given him something to laugh about for years to come - "She was crying over cupcakes!" and fussing would have given him something to laugh about, too - "She was pitching a fit about cupcakes!" The truth is, it has little to do with the actual cupcakes and everything to do with his selfish, boorish behavior.
My favorite comeback for a situation like this is to cross my arms, lean back against something, and just stare at the offending person. I try to keep all expression off my face. I don't say anything. If I'm asked a question, I respond with monosyllabic answers. It tends to make them very uncomfortable, isn't all that rude, and keeps them from being able to say very much about my reaction. I sometimes get the reputation as being very serious and not having a good sense of humor - but I don't often get messed with, either.