The gentleman caller is right. Most guys ARE kinda wired that way, though it's relatively harmless. And the guys that aren't... the ones who are super-conscientious and give you the exact right gift with the exact right card every time... well, I can't trust them as much.
The only solution I see is that you need to either 1) get over it, or 2) tell him that it bothers you, and explain why, without being ashamed of your feelings. There's no other way he's going to understand how you feel and avoid a similar mishap next time. Neither gender is particularly gifted at mind-reading (though women are *slightly* more inclined, but I'm biased).