I fly BA long-haul business class fairly regularly. I have a Silver exec club card. The main benefit of this for me - and the main reason I fly BA to get the tier points to keep it - is that I can pick my seat when I book. My travel plans are usually set months in advance so I book months in advance and pick the seat I want.
For a long-haul flight leaving tomorrow I picked my seat months ago. When I went into the booking a few weeks ago that seat was still shown. However, today, when I checked in online (mere minutes after check-in opened), I had a different seat.

Same thing happened to me on another BA flight a few weeks ago, where I got moved at the gate. OK, it's a first-world problem: I still have a seat in business class, but it's not a good as the seat I booked and it bugs me.
Obviously, someone has bumped me. Could a gold (or higher) card holder do that, i.e. request that specific seat the day before departure and get it?