Just because you saw empty seats on the flight, it doesn't necessarily mean there were seats available when your girlfriend asked.
Is it possible that another couple of passengers cancelled at the last minute (maybe the delay meant their trip wasn't going to be worthwhile). Maybe they didn't even cancel, they just didn't turn up at the gate, meaning BA would have a very small window to try to fill those seats. Would you have preferred BA delay your flight further while they try to find passengers to fill those seats or get the flight off as soon as they can? I suspect most passengers would opt for the latter.
I know from personal experience that weather cancellations and delays can be really annoying, but in my experience BA do try to accommodate passengers as best they can (given their lack of control over the situation).