It was probably the airline - this was in Karachi (travelling via PIA I believe). I don't think their cards were expired, but since they haven't been to America for the past 2 year, I guess they did not let them get thru.
In the past, this has happened to another one of my husband's relatives but she was going thru medical treatment during her stay so she was allowed to enter (but they didn't let her get on the plane as well).
I guess Pakistan is getting strict about enforcing this.
It's ridiculous that the airline is doing the job of IO at the port of departure.
In all circumstances, only the IO makes the decision if the person is allowed in to the US or not, whether the reason for long absence is genuine or bogus.