I did talk with DH (or rather, I listened while he apologized). I think the fact that I was past the point of crying and was just very quiet and sad drove home to him just how I felt. His proposed "solution" is that, next year, he'll take the day of our anniversary off and go get my gift during the day.
I think I may wait a month or two, and then talk about the advantages of buying gifts *ahead* of time!
On Sunday I got my gift; a lovely set of earrings and necklace, plus a bouquet of roses and a handwritten apology. It was sweet (and the necklace and earrings are beautiful), so he's mostly forgiven.
My friends are pretty amazed that he's not sleeping on the couch still, so I have eHell to thank for not over-reacting.
Oh, and the gifts came from a local store, so there were no shipping delays or anything like that to worry about. I asked him about that.