OS X apps are not generally statically linked. They are dynamically linked. But Apple almost never breaks binary compatibility of the public APIs.
Technically no, not binary compatibility. But practical compatibility? Woo boy do they ever.
As an aside, DLL Hell was coined by Szyperski, who still works for Microsoft.
I fear however, that Apple is currently destroying this design philosophy with the sandboxing. At least the application data folders have become way more complex now and I wouldn't like to troubleshoot them anymore, something that has been always been super easy.