Is this normal for an employer to do?
I've swapped 'horror interview' stories with other developers and managers, but I've never heard of this happening.
I must have said something offensive
Maybe, but only blame yourself for blowing the interview.
Don't blame yourself for the return plane ticket fiasco.
This is likely a single person making a big mistake.
The ones that covered for that mistake afterwards (I assume you talked to multiple people there) also seem culpable to me at this point, but IANAL1.
If you made offensive remarks during the interview I would want you not just out of my face, but also out of my town. I would abruptly (but politely) end the interview - it wouldn't occur to me to cancel your return flight.
If you totally lied about your experience, I might recommend to my company that we ask you to compensate us for the plane ticket and hotel. But I don't expect most companies ever would pursue it because of the bad PR that could come from it.
1 IANAL = I Am Not A Lawyer = I believe this is true, but it isn't a legal opinion.