If he can't be bothered to show up, why should you be bothered to cook for him? Next time he does it, CW, put the food away. And don't feel guilty about it. It's very disrespectful to you not to let you know he'll be late.
I'm so sorry you have to deal with his thoughtless behavior. You deserve so much more out of life.
Honest to God, CW, sometimes I just want to slap him upside the head! Forgive me, but he is either the most obtuse man on the planet, or he's an expert at passive aggression.
His marriage is on life support, and he appears to be be clueless. How frustrating it must be for you. {{hugs}}
Stop cooking for him. Make your own meal - something that you enjoy, eat it and leave NOTHING for him. Then when he asks about it, say "oops. I didn't know when you were planning on coming so I didn't feel like cooking." Do NOT make him anything when he complains.
Personally, I'd go to a hotel room with no note, no number to call, no explanation. When I bothered to come home the next day (after going out shopping for a couple of hours and having a nice lunch), I'd see how important I was to him by whether or not he was there waiting for me to get home.
You have tried and tried, sweetie. You aren't giving up on him. You are giving him the same (dis)respect that he gives you. It takes two people to save and maintain a marriage. You cannot make him respect you. You aren't giving up, just not giving in to his selfish way of looking at life. If he isn't willing to try (and he isn't from all your accounts *actions speak louder than words!!*), then all your work in saving this marriage is for naught. I'm sorry, CW, it's the truth. It sounds to me like he wants his cake and eat it too.
(((((((((((((CW)))))))))))))))