From BA's perspective, you did not turn up on time and possible denied another person a booking. The one thing the receptionist could have done was to tell you that if you were late, you'd lose your booking.
BA should have it in their T&Cs that they can charge people who don't turn up on time for their appointment