To my ear, though, “no problem” is absolutely the wrong way to reply to an expression of thanks — for the simple reason that saying “thank you” isn’t, or shouldn’t be, a veiled way of making an apology.
Saying “no problem” in place of “you’re welcome” always strikes me as self-defeating. I thank you for your service, or your gesture, or your generosity, or you kindness. So why are you even mentioning problems?
Granted, it may not have been fun for you to pick me up when my car broke down in the middle of the night. Or maybe you were in a hurry so the courtesy of holding the door for me grated somewhat. Still, your courtesy or your assistance are gifts given freely, not problems I’ve foisted on you — and I don’t express my gratitude to say I’m sorry for imposing. It’s my way of expressing how much I value your effort and concern, or simply your courtesy.
By saying “no problem,” it always seems to me as if what you are really saying is: “It is a problem and I forgive you for it.”
If every act of kindness is expected to solicit the embarrassed spirit of apology on the part of the beneficiary, then it’s not much of a kindness, is it?
I have the feeling that this is a fairly recent change in our verbal culture — and that it’s been accelerating. And it doesn’t really feel to me like a merely verbal shift at all, as if “no problem” has simply come to mean “you’re welcome.” To me, it feels like a culturally significant obliteration of the difference between giving and demanding, expressing gratitude and saying sorry.