It is human nature to use what we have within our reach. Money in my wallet or on my debit card falls easily in that category. So if you are really trying to set it aside and plan for either a safety financial net or for a family vacation, you need it get it out of your reach at least without a day or two wait.
The way I have solved this problem is with an online only bank account. The company that I personally use (and I am not trying to advertise for them to you) is ING direct. There is no direct way for me to access my money. I have no bank card with them and they isn't any branch that I am aware of. To access my money, I need to transfer money to or from them, through another bank account.
There are many benefits to these type of accounts. The first is that you get a higher interest rate from these banks because they don't have to pay the overhead to their bank employees. Second, though the transfers are free between the two banks, it takes a good day for the money to transfer and this help stop impulse purchases. This tactic has worked for me.