I'm sorry, but I don't get the reasoning behind your evaluation. I'm not greatly familiar with Objective C, but the only reason that I didn't pick it up in the past was that other languages had better documentation. (I'm not using an Apple).
Even GnuStep wasn't that bad. It was better at handling unicode than C libraries were. But too many pieces assumed that you had someone at hand to explain basics to you.
So I used Python and D and Java. I looked at Vala, but it seems too tightly bound up with gtk, and when the maniacs began pushing gnome3 I gave up on it. I avoid C because of excessive use of pointers. That's also a problem with C++, but it's really a matter of excessive ambiguity (and poor handling of unicode) that cause me to avoid it. (The unicode problem also affects C and Java, and possibly objective-C, though I never really checked. Java doesn't even HAVE a unicode aware ispunct() function. I needed to fake one up using the general character classification, which Java made numeric for some stupid reason. The unicode version would have made things a lot easier as I could just have checked the first character of the classification.)
So, objective-C has problems with documentation (if you aren't on a Mac), and I'm not thrilled with the GnuStep choice of 16-bit unicode (unless they've changed that since I looked), but what's wrong with the language?