The problem stemmed from the agents at IAH - not at PHL, althought PHL most definitely exacerbated the problem.
You put it best when you said the agents at IAH "wanted this to be PHL's" problem. That's exactly the answer to your question. It would have been "too much trouble" for the agents there to rebook 20++ passengers on other airlines, or put them up in Houston.
Also, the complete lack of updates to the monitors, 800 numbers etc, is very common with most airlines, although US is particularly bad at it. It's common practice for the "on time" departure time to come and go with no plane at the gate. I've learned to add 15 - 20 minutes to whatever time the GA announces, so if the incoming flight it "scheduled" to arrive at 6:10, it's actually arriving more around 6:25 ... and since it's "arriving" at 6:10, they post a departure of 6:25!