Stepmom,
I disagree with Prudie. I don't think either you or your husband should be the one to tell the kid he isn't getting his phone, unless he asks you directly, in which case, your husband should answer. Stepping in to explain for his mother not only lets her off scott-free from hearing the disappointment in her son's voice, it also paints you and your husband as the bearers of bad news, and possibly as the bad guys.
A ten year old is pretty likely to assume that if it was really his mother's choice to renege, she would have said so herself. If dad says so instead, then dad probably convinced her to do it. Mom is the good guy from promising (added to not being the home disciplinarian, etc.), and dad is the bad guy for denying. When the kid starts to wonder where his present is, he will ask someone about it- hopefully her.
Stiffed,
Start calling him before he comes over for dinner and asking him to stop off and pick up a couple of bottles of wine or beer because you've been too busy to make it to the store for those.
Not only will this effectively cut into the cost of the meal (alcohol is usually one of the more expensive parts), but it is a completely reasonable request and will give you some insight into his tastes. The truth is, he may be fine with a $10 bottle of wine instead of a $30 bottle, in which case, it's your taste that's pushing up the cost of the dinner you prepare, not his.
If his frugal tendencies outweigh any foodie inclinations he may have, then that's just part of who he is, and a conversation on the subject will not change that, but it might bring up some buried tensions that could disrupt your otherwise stable relationship. So if this is the case, just recognize that if you ever reach a state of shared finances (i.e. marriage, shared household), you will likely have to start taking the skirt steak over the filet when eating in to preserve harmony.