[quote="billly1380"]
The funny thing (actually not so much) is that it crashes with a bad pointer doing an SDL_Flip... /quote]

Which version of the FPC compiler are you using? My hunch is that the SDL_Main.o is what is causing the problem. But I could be totally wrong. According to that wiki if you are using FPC v2.0.0...
The only workaround currently is to edit rtl/bsd/system.pp, and change the line

procedure main(argcparam: Longint; argvparam: ppchar; envpparam: ppchar); cdecl; [public];

into

procedure SDL_main(argcparam: Longint; argvparam: ppchar; envpparam: ppchar); cdecl; [public];

If you then recompile the RTL, you will obtain an RTL which can be used to compile SDL programs. However, it will only work for SDL programs, since other programs now won't have a main function.
If you are using FPC v2.0.2+...
With fpc 2.0.2 or later you do not have to change rtl/bsd/system.pp any longer. -XMSDL_main does the trick :
1) as before, install SDL, for example using fink.

2) Add the following to your program:

{$linklib gcc}
{$linklib SDLmain}
uses sdl;

3) Then, this command line does it:

fpc -XMSDL_main -k-L/sw/lib -k-lSDL -k-framework -kOpenGL -k-framework -kCocoa -Fu<pathtosdl.pas files> -Fi<pathtosdl.inc files> Guns.dpr
If neither of these 2 methods work then we need to inform the wiki guys to update their info.