Rolling delays are hideously difficult to deal with...
From the captain's perspective...he wants to get the APU fixed, or into a state from which it can be MELed, so that he can go. There is a limited amount of time available for this. The roster gives about 3:45 spare from the absolute CASA flight time limit. The earlier you go the better, as nobody is feeling any better as the time goes by.
If you disembark the passengers, you are immediately applying a roughly 90 minute delay to the flight. If the engineers come back with a fix, then that 90 minutes will still apply.
You cannot start a food service for a lot of reasons, but legally the carts are not allowed to be blocking the aisles whilst on the ground. Additionally, it's quite likely that as the aircraft was on ground power, the galley power would have been load shed anyway. From what I remember of the SFO terminal, there would have been nothing open inside anyway...
So, if someone has a better way of handling this sort of delay, I'd love to hear it. Getting people off the aircraft, as an initial response, simply doesn't work, and will in most long haul cases be tantamount to cancelling the flight.