FPC can link against dylibs
Yes, but why does it have to use the {$linklib} directive instead of the usual external keyword? If it cannot use the external keyword, then it seem the MacOS X version of the compiler is either buggy or incomplete.

Regarding MacOSX and SDL have a look at:
Yes I am aware of the work arounds, but I have to ask, why do we need to fake the SDL_Main when this is not required on Win32, Linux or even FreeBSD, which I thought MacOS X was based on.

Please enlighten me so I can better understand the nuances of MacOS X.