Clearly a screw-up by BA here and you deserve a much better response. However, given the state of BA's customer service these days, my advice would be to take the avios and put it down to bad luck. I think they're offering you 20k (10k for you and 10k for your son?), which is a street value of around £200. Personally I'd take that rather than spend more time, stress and energy getting agitated about it. Possibly push for 10k for each passenger in your party (since it ruined the travel experience for all of you), but I wouldn't bother taking it further.