Welcome to FT!
I understand that they've given you a 16 hour connection in Madrid with an evening departure from Madrid.
Given that economy is the only direct option, I would ask if there is an earlier connection than 16 hours in Madrid! You may be able to waitlist or standby in Madrid for an earlier flight, although I know they get busy. Also ask if there is availability on BA to London City or maybe even with Iberia to somewhere else in Europe with another connection to London that would get you in with time to catch your train (i.e. Madrid to Paris and then Paris to London on BA).
Failing that, the operating carrier (Iberia) would be responsible for accommodating you in Madrid for 16 hours. It's not reasonable to expect you to spend this amount of time in an airport and, as a passenger, the airline owe you a duty of care under EU law. You should be provided with accommodation, meals and light refreshments in Madrid.
Given they're already paying for hotel accommodation, I would think they'd be understanding if you'd rather catch an AM departure the next day instead of a PM departure because there will be other displaced passengers to fill the seats.
Before anyone else asks this, do you have travel insurance, as this should be your first port of call.
If not and you do end up in London too late to catch your train, the best bet is to book reasonably priced accommodation (not necessarily a premier inn, but also not the Ritz) in London, keep all receipts, and send them in and ask to be reimbursed.
Last edited by IAMORGAN; Apr 14, 2012 at 6:16 am
Reason: Edited in light of further info