I didn't explain my statements above very well, it was kind of stream of consciousness. The test code I made was to rule out something in your application. The simple example has the same issues as your program. The error message seems to be coming from SDL::Video::set_video_mode. SDLx::App::resize has the call shown below that should print an error. Since we never see this error the problem is somewhere in this function.
$self = SDL::Video::set_video_mode( $w, $h, $bpp, $flags )
or die "SDL cannot set video:" . SDL::get_error;
The functions in SDL::Video are in a dll so this is as far as I got.