As this policy has been around for a decade, and no other major airline has copied it, you can assume that it is a dud revenuewise and there is some deep seated reason that BA keeps this around - Airlines are lemmings and always follow eachother no matter what if they smell a revenue stream. Also, the idea that they are "reserving" better seats for elites this way is also a non-starter as there are many ways to block certain seats for Elites without resorting to this (as many other airlines do).
I honestly think that this is something that they tried, never really went anywhere and that they just never bothered to get rid of it. I mean seriously, especially at looking at connecting passengers, anyone who flies twice with BA in a year, would get up to silver anyway and this would never effect them, a bit more for UK originating passengers. So the question is whether the odd passenger who is flying in Club long haul once a year or once a decade would bother or care to pay this ridiculous fee, I think not, as most probably such passenger would also be clueless as to what a better seat was/is, and unless the flight is slammed, if they hated it so much would more probably than not be able to get a better seat at check-in or the airport.