Fines are only incurred if the airline did something wrong, not if the passenger simply turned out to be inadmissible. For example, the fine to an airline for allowing a passenger to board a flight to Germany with an unsigned passport is €5000, and is always levied because they deem the airline to be responsible. But a passenger who otherwise has a valid passport but fails immigration screening will not incur a fine to the airline.
In this circumstance BA is entitled to charge for a ticket home, but in reality their policy is typically to use the return coupon (if present) and just send the customer home with that. Some routes where it’s a daily occurrence actually have seats blocked for this purpose.
I do hope the OP comes back to tell us the end of the story.