I had the misfortune to book a non-refundable return ticket to Madrid with BA a year ago or so. The misfortune lay in the fact that I had to cancel the trip and received no refund. I contacted BA to cancel the flight, which they duly noted and that was that.
Imagine my delight, when one week before the departure date I got an email from BA stating that the scheduled flight was being cancelled and would I like to re-book or have a 100% refund? I happily accepted the 100% refund of my non-refundable ticket.
Lovely-jubly.