I’m afraid you’ve discovered a key difference between the USA and Europe. This isn’t a BA thing - it’s common to European carriers. As you say, in the USA you would get a credit. In Europe if you cancel you will generally only get the taxes back - non-refundable means what it says. Changing rather than cancelling the flights (including changing the destination) is therefore usually the better option, although will involve paying change fee and any fare difference. You cannot resell the tickets to someone else as it is against the conditions of carriage, plus BA will not do name changes (to prevent this practice).