I suspect this was to make life easier, usually the airline would deliver, in some places - including the UK and USA - you would need to file a customs declaration. There are a few places where the customs requirements are so keenly enforced that you really best go to the airport, China and India spring to mind. But Spain? No, I would normally expect those bags to be delivered, but it wouldn't surprise me if that added quite a few extra days to the process. If there was something specific in your baggage that Customs had queried then that would be another matter.
I would claim the cost of returning to the airport. This is not normally covered, but if you had no choice then I believe it's a cost that BA should bear.