Woohoo!
I got it to work! A person by the name of StormyOrdos on this post had the same problem that I did and posted the solution. (I didn't know this as I had found this site and the updated inc via google, so I didn't see these posts pertaining to an updated include for D2k9)

http://www.pascalgamedevelopment.com...p?topic=5495.0
[pascal]
procedure Dummy;
var
name : AnsiString;
begin
name := 'Projet SDL';
SDL_WM_SetCaption(PAnsiChar(name), nil);
end;
[/pascal]

So for anyone who want's to know why D2k9 cuts off your string data when passing params to SDL, just create an AnsiString variable, initialize it, and then cast it as a PWideChar/PChar (PAnsiChar throws a flag) to whatever you're calling. Too cool. So my code now looks like.
[pascal]
procedure Ttesting.DisplayPic;
var
picture : PSDL_Surface;
srcRect, dstRect: PSDL_RECT;
I: Integer;
fname : AnsiString;
begin
fname := 'fpsdl.bmp';
picture := SDL_LOADBMP(PChar(fname));
if picture = nil then
begin
ShowMessage('Couldn''t load the bmp. ' + PAnsiChar(SDL_GETERROR));
exit;
end;
[/pascal]
Thanks for the help PJP Dev!