Jane, I just wanted to say that I think you're doing the right thing in telling Dave to leave you be for awhile. If he can't make his mind up, then there's no point in him continually calling you and dragging you back down. Although I know it can be difficult to go from talking to somebody every day to not at all, it's a necessary evil in this instance.
I had a situation similar to yours, only with regards to mine, cheating was involved. After a couple of weeks of talking, going back and forth, trying to make sense of what had happened, I finally told him to stay clear of me. When I returned to the UK a few months later to work, and had to collect some of my things that I'd stored at his house, I made him drop them off at a mutual friend's place. I can't tell you how much easier that made things, as well. I just made up my mind that I wouldn't see him, and wouldn't talk to him, even though we were in the same country once again. As hard as it was, I stuck to it, and became a much stronger person as a result.
In short, you have to have respect for yourself, and realize that you deserve better, and have confidence that when you're ready, that "better" person will arrive. Just because one guy didn't value you as you deserved doesn't mean that you are not valuable in your own right.
Oh and IMO, the fact that he went out and bought that expensive truck just proves how out of whack his priorities are. That's reason enough to steer clear right there.