While I agree that it seems like a dumb reason to detain her, it also seems to be somewhat of a case of a brit thinking that the sort of kicking up a fuss that works at home is going to work overseas.
Unfortunately, as a foreigner in a strange land, you’re in a much more vulnerable position and sometimes you just have to suck it up and say “I’m very sorry sir. I didn’t know there was a problem with my visa. What should I do?”
I regularly have situations where if I was back int he UK I’d kick up a massive fuss and not accept it, but doing so in another country, where you aren’t a national, is a much bigger risk. It sucks, but that’s life.
On another topic:
Smelly cat, smelly cat…