Here's a good discussion on a related topic in the 9fans archive - http://www.mail-archive.com/9fans@9fans.net/msg10581.html
The thing is, Objective C is the main way to develop Cocoa applications. Blocks, garbage collection, and a number of other features that have been roundly whined about are ways of increasing the expressivity of the language so that it is more comfortable to write applications in. One can argue that C is a miserable applications development language (and I think you'd be right) but unfortunately we have relatively few other options. Apple used to have a Java-Cocoa bridge that has been deprecated for some time because nobody cared.
Blocks in C have lead to a great simplification of my own code. A lot less jumping from method to method. There is no way that these are a bad thing.