I would prefer KLM style catering. If over 1 hr you get 2 drinks rounds and a sandwich. Given that BA is not likely to do that I would prefer to Buy/Bring on board. It just surprises me how people think it is 'not done' to buy your food on board but much more in style with a full service airline to either pack your own lunch or buy it at the airport.
There just seems to be no logic whatsoever in that line of reasoning...