I was caught up with a last minute cancellation that day too on an online travel agent ticket (not Expedia). Before going down the legal route, I would try calling BA, explaining that you bought the ticket issued by them but the flight did not operate, you're having trouble getting the ticket refunded and can they mark the booking as cancelled by the airline. It worked for me, although the travel agent said they had to confirm the right to refund with the ticket issuer, and then took a month to refund me. I was already airside when the flight was cancelled though and was able to speak directly with the ticketing staff in the lounge. Good luck!
EDIT - I see you have already called BA. The CC route might be you're best next step then