When you run a business and provide a service, there are reasonable expectations of what should be provided. When a business fails to meet those expectations, they don't necessarily deserve to be compensated for what they may have already done.
Since some have already equated this to stealing jewelry after waiting 15 minutes (

), I'll use some "extreme" examples as well to illustrate what I'm trying to say:
1) You go to a restaurant and order chicken wings. They bring you the wings and they are fully undercooked and raw and inedible. You ask to have them cooked some more and they explain that's how they make them. You decide that there's no way you'll be eating this and decide to leave. Now, those wings plus whatever other ingredients/sides came with them cost the restaurant money. But that's their loss for failing to live up to reasonable expectations of what a restaurant serving wings should provide. A customer refusing to pay for those wings is technically stealing but there is no way they should be expected to pay for that product.
2) You bring your car to get detailed. It's a 2 hour job and you make an appointment. You take your time out, bring it in, and they tell you it will be ready at 3pm. It's now 5pm and you get a call that they were able to vacuum the vehicle and wash the outside, but they still haven't done the actual detailing, waxing, etc and won't be able to finish today. You can bring it back tomorrow morning at 8am and they'll finish it for you. Except you're not available tomorrow morning because you needed the vehicle for an appointment (hence the detailing). Sure, the business spent some time but they only provided a partial service and failed the expectations that they were hired for. Should you pay them for what it costs to vacuum and wash a car? Or should the business be responsible for that portion? I wouldn't give them a dime because of their failure to meet reasonable expectations for what I brought my car over for. If I pay them for the vacuum and wash, they are out $0 and I am out significant time and still haven't received what I was expecting and have to go elsewhere to do so.
With what the OP is describing, the restaurant failed miserably in providing what is expected when ordering food at a restaurant. Add up the time from when they went in to eat: 45 minutes to sit (not unreasonable), 15 minutes to even see a server after sitting (not reasonable but overall not terrible), 30 minutes with no food and no explanation (not terrible, but starting to add up, then another 15 minutes where waiter says it's next and then another 10-15 minutes where waiter is making trips in an out. That's 2 hours in the restaurant with no dinner and no reasonable expectation that it was coming immediately. Even if you remove the 45 minute wait time, that's one hour and 15 minutes from being seated where you still have no food and are getting ignored. So unless this to be expected at this restaurant and all other patrons are waiting the same, then this is unacceptable and they haven't fulfilled their obligation just because they gave him some drinks and brought out a salad during that time.
Again, if you talk to a manager about that situation, I can't imagine them trying to charge him for the drinks and salads at that point. I think we would all agree that 95%+ managers comp their food/drink at that point and apologize. Just because the OP, now with a hungry family, decided to forego that step, doesn't make it "stealing" any more than if the manager offered the food to them for free. The reason we all know it would get comped is because his time was worth that amount of food/drink and you don't need a manager to "approve" that transaction. The fact that the restaurant is out that money is their fault for not providing a reasonable dining experience. I'd say an hour 15 minutes + without a meal is rarely going to be reasonable in a normal restaurant.