I think the simplest test would be something like this...
[pascal]
program PngTest;

{$APPTYPE CONSOLE}

var
temp : string;
FPngStruct : png_structp;
FPngInfo : png_infop;
begin
temp := png_get_libpng_ver ( nil );
WriteLn( 'Version : ' + temp );
FPngStruct := png_create_read_struct( PNG_LIBPNG_VER_STRING, nil, nil, nil );
if assigned( FPngStruct ) then
begin
FPngInfo := png_create_info_struct( FPngStruct );
if assigned( FPngInfo ) then
begin
WriteLn( 'We can start decoding now' );
end
else
begin
WriteLn( 'Failed to Create PngInfo struct!' );
end;
end
else
begin
WriteLn( 'Failed to Create PngStruct!' );
end;

ReadLn;
end.
[/pascal]

If you get the *start decoding* message then everything is else should just work. The steps after that would involve introducing call back functions for reading the PNG file.
If this works for you, I can send you a more complete JEDI-SDL example.