I had a similar experience (not quite 18 hours mind) on a DUS - LHR run: On aircraft, pushed back then sat for about 2 - 2 1/2 hours before taking off, then did the ubiquitous stacking over the Thames Estury before landing. To cap it all, i was just over for the day and was booked on the evening flight back which took off on time then developed a fault over Essex and aborted back into LHR, where we sat while engineers tried to fix it (couldn't) then we were moved to another aircraft and waited for a crew (???) then took off and landed in a 'kept open especially for us' DUS
Total time inside an aluminium tube that day was about 9 hours (for 2 x 1 hour flights)
A thought though about the OP suggesting BA making provision for this, presumably, once the aircraft has pushed back, it is very tricky to load extra meals / drinks?