They were completely in the wrong in every sense. They told you a time, then disregarded your schedule completely. What if you'd had important plans? They apparently feel that they are royalty and should be invited to homes of people who don't know them well, and be treated with the utmost care when they arrive HOURS late without calling. They were very rude, even when it was just being late. But to then put you down for getting them SOME food, and assuming that's the kind of thing you eat and serve all the time. How would THEY know if you can cook - they didn't arrive on time to find out. After that first scathing insult, I would have said, "Well, HERE'S your meal and wine, (handed it to them in a big brown bag as leftovers or a doggie bag) and kicked them out of my home. At least then they would have 1. known you had cooked for them, 2. known you cooked for them back at the time THEY said they'd be there, 3. realized you can cook, 4. realized they ruined any chance to ever call on you again at their convenience, since they are more your parents' friends than yours, and 5. realized that YOU will not take their arrogant crap, like many others must do, since they seem to act like they can speak this way to anyone they want.
You were not, repeat not out of line.The nerve of so called friends.I'm hoping you will ignore their
comments behind your back.They should have called to say they were running late and gave
you a time frame as to when to expect them.By the way they would be put on my no invitation
That's a pretty easy one. You did nothing wrong, and have every right to be a little upset.
For me, if it is something more formal like dinner (as opposed to meeting people at a bar, club, gym, etc.), I'd call if I expected to be more than 20 minutes late. That would mean that I would call at around the time I was supposed to be showing up. If I expected to be, like, 3 hours late (can't imagine why unless I was flying in from somewhere far, far away...), I'd probably just apologize and cancel.
Remember that people who are rude to you are more than likely rude to others. It'll reduce their credibility. And, since it sounds like you are a nice person, your friends likely won't pay attention to them anyways since they'd know you better.