Well in that case, as much as this guy looks up to you and you don't want to hurt him...this is about your health and well-being. Leaving you alone and hungry for hours when you are relying on him is unacceptable. If he cannot perform the basic tasks that you are paying him for, you need to let him know.
You can either tell him about what he's done wrong and offer to give him another chance or tell him that your wellbeing is too important to leave up to chance, whim, and how someone is feeling that day. You are going to have to let him go.
It's hard to do, but if he is a real friend, he won't hold it against you. I mean, he has to know that he's not doing a good job if he's not showing up and can't cook pasta....