Thanks for having me!
Many guests on radio use this expression, to the point where one subscriber has become so irritated that I have been asked to comment on it.
Let’s start with the function of have in this idiomatic phrase. The OED outlines the general sense of have when it is used to express ‘the presence, location, or position of the object of the verb, esp. in relation to the subject (usually with a prepositional phrase as complement)’. So we say He has his computer on the table. The computer is located in relation to him as being on the table. I have you on my mind. You are in relation to me as on my mind. We can take this one step further and say I’m having you over to dinner. You are in relation to me as coming to dinner. I am offering you hospitality. The response from the object of this hospitality is Thanks for having me to dinner. This is often reduced to thanks for having me, the shortened phrase being acceptable because the context is perfectly clear.
So when a guest is invited onto a radio broadcast, the presenter is having them on the show, and they say thanks for having me (on the show). But unlike a dinner invitation, an invitation to appear on a radio program is not an act of hospitality. The guest has been asked to come on to perform in some way, to offer information or entertainment. There is a specific purpose that the presenter has in mind and that the guest agrees to. So it seems like a pretence to feign the relationship of a visitor who has been offered hospitality by their host. It is simpler and more straightforward to say Good morning or Good afternoon or Hello. Sadly for the person who wrote to me about this, this particular fashionable formula is not going to go away. At least not in the short term. We can hope that something replaces it in the future.