I've been using the "what an interesting assumption" for this, but I think I need stronger ammunition.
My first name is a common shortened version of a longer name, except that even on my birth certificate, it is the shortened version. Think "Mary" instead of "Maryanne". A surprising number of people, when I introduce myself, respond immediately with "oh, is that short for Maryanne?" to which I reply with a variation of, "no, it's just Mary, even on my birth certificate and Passport! It's a bit unusual, I know. Anyway, <topic change>" and am nearly always interrupted with "are you sure?" or "what about Mary-Lou?" or something. I'll use the old "what an interesting assumption" and bean-dip, but the person will again more often than not not listen and make another name-related comment once I'm done, or blatantly interrupt.
A bizarrely high proportion of people do this. My husband gets it too, but in a different way.
His surname is spelt in a similar way to another surname, along the lines of "Mith" instead of "Smith", except the other surname is very much less common than Smith (so you'd think this wouldn't happen to him as often). When spoken, there are no problems, due to the changed pronunciation, but in writing (emails in particular), we get these gems:from: firstname.lastname@example.org
Thank-you for your email. Blah blah work-related stuff.
P.S. oh, by the way, you misspelt "Smith"! Don't forget the "S" next time!
This is despite his email address includes his surname. Follow-up emails or conversations have always revealed that this is meant in sincerity. It happens at least once a week.
Anyway, which other strategies might work better for people insisting that you don't know your own name? It's amusing, but quite frankly if I have to have a 5 minute conversation every time this happens, I'm losing two weeks of life or something. Broken-record mode seems to not help much, either.