I Was Wrong
I was wrong. It happens. Turns out libxml2 has a push mechanism that does exactly what I wanted: feed the SAX parser data as it arrives instead of buffering. Wrap it in some Objective-C and now stories appear in my iPhone app as the XML downloads. Tada.