Pip, there seem to be two different matters here. First, you find your grandson rude and distant. I'd speak to your son about it, then maybe he can remind him to, at least, say hello and goodbye.
I wouldn't dislike your grandson for it, though. He may have a very different personality. I have a grandson with autism. He finds it difficult (sometimes impossible) to behave like the others - despite his great efforts and, of course, they find it very easy to be polite and chatty - at least during visits.
Second, there's the question of expensive gifts - a different matter. Another chat with your son, just to say that you can't afford too much, so will be giving smaller gifts in future.
Please don't be cruel (and unfair) to your grandson by suddenly giving a small, token present. Why punish him for something that may well be not his fault?