It beggars belief that BA at London couldn't come up with a spare seat cushion and cover for an outbound flight.
In that situation, I'd be tempted to inform the Purser/CSD that I was considering exercising my right to offload myself if they failed to reseat me, and that I would inform them of my decision at some stage before we reached the runway.
If it came to the crunch, I wouldn't anticipate any problem recovering my fare based on BA's implied contract that it would provide me with a clean, dry, hygienic seat to take me to my destination.