Interesting points - thanks everyone.
A few things:
a) We think BA is worse than other airlines because they took us off a bassinet seat after confirming we had it. I.e. we have written confirmation that we have the bassinet in premium economy, and they took that away and don't feel they have done anything wrong. Most other airlines would honour their commitment here, BA does not. We agree that at the point of booking the bassinet is not guaranteed, but once you have selected the seat and have it confirmed - that is different. Why is someone else getting your seat when they didn't have it confirmed?
b) Between a knee and bassinet matters less for shorter trips. Ours was a 30 hour flight with a flight offload and re-board. A 10 hour trip somewhere with a child on the knee is one thing - extend that 3x and the value of a bassinet becomes fully apparent.
c) The probability of a getting a spare seat next to you IS higher in economy. The premium seats are limited, and usually full. In economy, there are a lot of people who avoid the front seats because they know there could be a baby there. So yes, it is an advantage of economy that you have a higher chance of a spare seat. That is subtly different to expecting a spare seat in premium economy. We did not expect that - but if you want to maximise the chances of a spare seat, economy is better. Perhaps we did not express ourselves as well as we could have and we are sorry for that.
What we suggest is that next time you are on a semi-full flight, have a look whether the premium economy bassinet seat has a spare seat next to it, then check with economy bassinet seats. You'll notice that it is far more common in economy.
It's fine if you disagree, and also if you are wealthy enough that paying for premium economy is not a major strain, then that's different too. But for the bulk of mums out there who have to watch their finances, we think premium economy is a waste of money, especially with BA. A bassinet seat in economy gives you a lot of space up front anyway, so why pay 50%+ more for a lower chance of getting one?