Could you try this...
[pascal]
program HelloBitmap;

uses
sdl;

var
// Done flag
Done : Boolean;

// Event record
event : TSDL_Event;

// Our Screen Surface;
screen : PSDL_Surface;

// Our Background image
imgBackGround : PSDL_Surface;
begin
// Initialize SDL
if SDL_Init( SDL_INIT_VIDEO ) < 0 then
begin
// Display an error
Halt( 1 );
end;

// Set the Window Caption
SDL_WM_SetCaption( 'My first Bitmap', nil );

// Set the video Mode
screen := SDL_SetVideoMode( 800, 600, 16, SDL_DOUBLEBUF or SDL_ANYFORMAT );
if screen = nil then
begin
// Display an error
SDL_Quit;
Halt( 1 );
end;

// Load The Bitmap, Check For Errors, If Bitmap's Not Found Quit
imgBackGround := SDL_LoadBMP( 'MyImage.bmp' );
if ( imgBackGround <> nil ) then
begin
// wait for user to press a key or click the X
Done := False;
while ( not Done ) do
begin
// This could go in a separate function
while ( SDL_PollEvent( @event ) = 1 ) do
begin
case event.type_ of
SDL_QUITEV :
begin
// handle click to close Window - User Clicks on X on title bar
Done := true;
end;

SDL_KEYDOWN :
begin
// handle key press - check for Escape key
if event.key.keysym.sym = SDLK_ESCAPE then
Done := true;
end;
end;
end;
// draw onto our back buffer
SDL_BlitSurface( imgBackGround, nil, screen, nil );

//Flip to our main surface
SDL_Flip( screen );
end;
end
else
begin
SDL_Quit;
// Display an error
Halt( 1 );
end;

// Free up any memory we may have used
if ( imgBackGround <> nil ) then
SDL_FreeSurface( imgBackGround );
SDL_Quit;
end.
[/pascal]