I am one hundred percent with you about cash getting frittered away (and cash-based budgeting plans therefore being a terrible idea for me). If I take cash out of my account, then it’s already deducted from the account, already “spent” in a sense, and immediately starts to feel like Free Money!
I took some peculiar little personality test once, where one of the questions was “if you lost your wallet right now, how much cash would you be able to scrape up elsewhere? From your pockets, car cupholder, couch cushions, etc.?” and if the answer was, say, five dollars — well, that means five dollars is the amount of money you don’t consider to be “real money,” the amount you wouldn’t hesitate to drop on something frivolous without thinking about it. Which makes sense, honestly, because you have just confirmed that that’s the amount of money you let drift around without you keeping track of it. That’s always what I think of when someone I know finds a large bill in last year’s coat. “Wow, must be nice to be able to lose track of a twenty and not even notice!”
(My answer to the test question, as you can probably gather, was less than a buck. If there seems to a contradiction between “I don’t lose track of my cash” and “cash feels like free money,” I think it’s bridged by “I don’t keep cash on me because I know I’ll spend it!”)