With XCode & Objective C we can all create a quick and dirty app that runs OK - it could leak memory like a sieve but still work, after all once the app stops running OSX clears up and all is well so why worry ?
The point is if a programmer knows and understands the language he/she should write code that obeys the rules and control memory use and generally behave itself - the application of reusable code such as the Cocoa / Appkit frameworks helps greatly to reduce errors and conflicts since we are building on stuff that has been tested and has been shown to work. I see that the latest version of Xcode with Leopard features garbage collection so we move ever closer to that golden day when we don't have to worry about memory at all.
With the inclusion of the bindings system, delegate methods activated from within the system, dynamic runtime binding etc. etc. there has never been a better time to get involved with Objective C - all software systems should be written this way (if we ever get to true multi-platform capability everyone will discover the benefits of Objective C and planet Earth will never be the same again !)
Most of us can remember the bad old days of Windows machines forever needing software reloads and PCs crashing due to hardware conflicts (ever tried playing with the Registry - what a nightmare that was)- the point of Objective C is that it builds on a solid foundation - when you subclass you can be sure that your class instance will work - if there are known bugs, methods can be overridden with your own methods anyway, you just have to keep up to date with the documentation.
New versions of software can never be completely bug free since there isn't enough time to try out all the things that can go wrong - but in the main Macs have fewer problems than some systems I can mention and I would sooner play around with Objective C and the appkit any day - what a tremendous amount of power and flexibility you have under your finger tips !
As for not learning assembler anymore - the whole point of a language like Objective C is that it frees us from basic level I/O issues, hugely complicated port/ chip architecture issues, procedural issues where you write in a very low level of abstraction (i.e. you would have to know a machines' innards absolutely like the back of your hand) - I could go on and on here. Intel chips these days are vastly more complicated than the humble old 6502 cpu, by the time I had absorbed all the implications of assembler on today's machines I would probably have a long grey beard.
Back when I started programming it would take a couple of weeks to write a 2K (yes 2,000 bytes) assembler program for a 6502 cpu - you would have to know the cpu architecture inside out as well as the configuration of I/O ports etc - the thought of having to grapple with the innards of a Mac in this manner would send me deeeeply back into my cave.
Long live Objective C !
Having said that, starting out with 6502 assembler does give you an appreciation of today's level of technology. If you study a high level language like Objective C and learn it as you should then there's no reason why anyone should write shoddy software.