I've just checked on EF & ITA and sadly this does seem to be correct according to the fare rules.
Working backwards from what you've paid, I think you & your wife have an I class fare (42 days advance purchase, min Sat night stay). There are no children's or infant's discounts for this fare.
BA are using the R class fare for your son which does allow kids' discounts and, allowing for exchange rate vaguaries, comes out at around 500 quid.
I agree with
halo though. It's all very well having restrictions on fares, but this does seem to unfairly penalise people with kids. It's not as if your son needs any more flexibility than his parents

Pay the little bit more (per
halo's example) and plonk him on the floor in F
At least he doesn't have to pay Mr Brown's APD ^^
hth