You've not had an actual loss though have you it's only notional? If the price had gone up you'd be happy.
Presumably you were happy with the expedia price? Was it better than the price if you had booked direct with BA?
In general if you book direct with the airline then you get the airline rules. If you book via a site like expedia then you have to follow their rules.
The booking I did with Expedia at the weekend and it was clear that the booking was not refundable with no same day or 24 hour cancellation. Other fares they offer may have different T&Cs. I used expedia because BA.com wasn't coming up with the flight options I wanted. An other set of flights I wanted was more expensive than BA.com so I booked direct.