They should pay the hotel if you submit a claim under 'Right to Care'. I've never waited for whatever assistance BA is supposed to provide in these circumstances (my experience says you are left to fend for yourself) and it's been repaid. There is a guideline amount they suggest (can't recall if £200 or £250 a night), but this is not a legal limit and they may pay more provided you have acted reasonably, although I have never been in that position. You can also submit meal expenses as well, subject to a limit (they won't pay for alcohol). Again, this should be paid without issue.
As for the rest of the experience, that sounds absolutely disgusting. I don't know why your flight was delayed and then cancelled, so can't comment on whether compensation is due. However, I think a complaint is fully merited there regardless.