Of course it your fault for picking losers, and worse yet, sticking with them.
You are a push over and way to generous by half. Sure, when our friends are in need, out of a job and broke, we like to help out. But their is a limit to generosity.
He's become a user, and using you and lying to you as well.
You stood up, asked if he would pay his own way for one meal, he said yes, then the check came and suddenly, he's broke again. He must have known before you went out, we all know what we have in our wallets.
So you do have a choice, stop enabling him, dump his sorry ***, and get over him.
Believe me, these guys, never change. You are responsible, and he's not.
So put up with his antics, pay his way and shut up about it. or get your head and heart straight and find some guy worthy of you.
He'll have a hard time, finding another girl like you, in a hurry.