I need to port a .Net application from Windows to OS X and I am wondering what are the advantageous and disadvantageous of using either Monobjc or MonoMac and what peoples experience with these are.
App Requirements
What would be the best option considering the requirements above.
For item 1 if you carefully read the below article, you will see why MonoMac was born and why you should now use it,
http://tirania.org/blog/archive/2010/Apr-19.html
After these two years, MonoMac has already grown to be a giant in this field. Unless you are maintaining an old project built upon other bindings, you should consider MonoMac as your first option.
It does not matter whether you use MonoMac or another binding, as the last two items are not closely related to item 1.
For IPC you can consider WCF (limited support from Mono), Thrift (http://thrift.apache.org/) and many others.
Growl is not a Mac OS X API. For such vendor specific stuffs you should consult the vendor.