But it can be spotty at times with poor data connection.
Relying on "delivered" takes care of all of those situations, and is much more elegant in the UI than adding an "auto responder" message.
To answer your other question the delivered flag is set if any of your devices receives the message.
For example, I went out of the country, but left my iPad at home (which also receives iMessages to my phone #). Because my phone wasn't data roaming, and my iPad was still on the network at home, iMessages were being delivered to the iPad. It basically meant anyone with an iPhone couldn't text me, because the text message fallback wasn't triggering. I had to find wifi with my iPhone to catch up on texts.
The "dead battery" auto-responder has the same issue. What if my iPhone battery is dead, but I'm on a Mountain Lion MacBook and getting messages there?
Message search is also built into the iOS spotlight screen (left of first home screen).
Sidenote: apple has the ability to mine so many conversations for data. It's more intimate than twitter and I'd imagine more iMessages are sent each day than tweets. If something happens anywhere in the world Apple would theoretically be the first to know. Kinda nuts.
ED: I tried searching for a word in Messages at five minutes ago, and the results still haven't appeared. 100% CPU usage.
ED2: 10 minutes now, 2.24GB of memory use.
ED3: Results showed, then client crashed at 13 minutes.
This is especially noticeable under poor network conditions (I think I first noticed it at a music festival where even regular SMS messages struggled to get through due to network congestion).
For example, if the recipient is out of 3G data coverage but can fall back to SMS, you won't get Delivered, you'll get a line across your conversation denoting a switch to Text Message and a different color bubble.
(Several people I message are in marginal coverage areas several hours a day, so I get to see this in action daily.)
"One potential reason that Apple wouldn’t implement this feature is that it increases user awareness of dead iPhone batteries" I don't even
iMessage, SMS, email et al are async by design. Until you hear or see an ack that's from the actual recipient (and not something automated by a device), you can't be sure the message has been properly received.