"However, when I tried to save the choice, I got a response advising that BA are unable to handle the request. The option on the return flight is not available at all, but I'm sure that this is because it's a red-eye back to LHR with no full meals. "
It was all working when I left [honest]. Years back I worked on some of BA's Orders Data Store, which was their much cheaper copy of the Amadeus system. Was hired as a developer [computer programmer], but then everything was outsourced.
The system was complex (and a bit nasty), and the airline business required a lot of domain knowledge, so it's no surprise to me that they have been and still are struggling to provide a half decient service since everything has been outsourced.
Sadly the senior managers just viewed IT as a "cost" to be reduced, with no vison of the future.
I did my own "BA Survey" - the day after they said "we are not extending your contract at the end of this month", I never went back. I was a self employed contractor, so did not really need to give much [any] notice. I'll normally be happy to do a "hand over", but did not like the way the managers were behaving. Don't think I'll ever fly BA unless I really, really need to.