First, I think that if you want a certain food to be restricted to certain guests, you don't put it on the main table. Putting it at a buffet, even off to one side, says to me, "This is special, but not restricted -- if uncertain, ask!"
(For example, at my wedding, we had vegan and gluten free cookies for our restricted-diet guests (cake with dairy as usual for everyone else). Once I was sure they'd all had their fill, we put them out, but if someone had gone into the kitchen where they were specifically set aside so that no one would 'happen' on them, my guests and I would have all been disappointed.)
Second, I agree that this guy over did it (both his quantity and his presence). Glad he's not in your life any longer.
As for how to deal with people like this, if you're the host and you notice it as it's happening, I would not be afraid to say something like, "Excuse me, do you mind leaving a few more hot dogs behind for the kids? There are a few who don't eat the more 'adult' main dishes."
I wouldn't make it a demand, but I wouldn't let it go unremarked, either.