I am not a "hard-core" or even "knowledgeable" OSX developer but here is what little I know. You have a few choices here:
1. XCode (Apple's IDE)
2. Code Warrior (Metrowerks)
3. Scripting environments
4. The rest (Eclipse, DotGnu et. al.)
1. XCode is Apple's "official" IDE for OSX. The user interface portion of OSX is referred to as Cocoa. The reason this is important is that much of the user interface code and much of what makes OSX a great, productive, and powerful development environment is because of the underpinnings of Cocoa which is Objective-C. Objective C is a smalltalk-inspired language but more closely resembles C and C++. I have programmed with many languages including those in the dot-net language suite. For the most part you can get a lot of productive work done with Microsoft tools. I feel like greased lightning writing code with a Microsoft IDE. There are also many limits with these tools. I think it all boils down to preference and what you feel productive with. But in my personal experience, I have never seen a more elegant, productive platform than the "Core" APIs and AppKit Objective-C libraries Apple provides. There are many open source type libraries out there as well. It's not the bill-gates world where you can "buy" components that do about anything you want, but you might find your code is more beautiful and less kludgy than you will get with MS tools.
2. Metrowerks is pretty good IDE and the compiler is cross platform but you will have to find a cross platform user-interface library like WxWidgets (
http://www.wxwidgets.org) if you want to write cross platform GUI apps. Also Code-Warrior only supports C++ and C from what I remember.
3. There are a lot of scripting tools out there for OSX for scripting languages like PHP, AppleScript, and Runtime Revolution. I script in PHP a lot so I use an editor and Dreamweaver mostly. Both of these are available for OSX and if you're scripting, work like an IDE. (hahaha)
4. Other IDEs including Java IDEs such as Eclipse and Netbeans. Sure, Apple has also written a Java API wrapper around the Objective-C libraries. But why bother, when you can use Eclipse (
www.eclipse.org) and bind your code to the SWT toolkit? SWT is a cross platform user interface library that gives your applications that "native" look and feel. Not to be confused with the "pluggable" look and feel of Swing which does not look or feel native to any single platform. The Eclipse user interface is based on SWT and looks and feels mostly like a native app. Download Eclipse and try it out for yourself.
If you're absolutely hooked on dot-net then I suggest you check out the dot-gnu project and mono projects which seek to implement cross-platform dot-net runtimes. I really don't know how far these projects have evolved but it looks like there is a lot of momentum here.
Bottom Line: if you want my opinion or even just a reason to go to OSX then I suggest you check out Objective-C and Cocoa development. There is plenty of documentation out there and I would start on the Apple Developer Connection web site. I think that Objective-C is "the" enabling technology that is allowing this platform to propel itself "years" ahead of what Microsoft is doing on the desktop. This is coming from a loyal windows advocate. Again, I don't have any problem with Microsoft tools, but if you love to code, then you will love Objective-C.
Cheers,
-Joe