Many thanks to DLively, Malice, and alibaba, we're almost there. The code is now capturing and showing the screen shot, but isn't scaling it (and may not be placing it in the lower left corner--I can't tell because the screenshot occupies the whole screen). Here's the current code--please let me know what I'm missing.

PANEL* testPan = {}

void shot()
{
BMAP* testB=bmap_createblack(screen_size.x,screen_size.y,32);
bmap_for_screen(testB,0,1);
testPan.bmap=testB;
set(testPan,SHOW);
while (testPan.size_x > 0.25)
{
wait(1);
testPan.size_x -=0.05*time_step;
testPan.pos_x = (screen_size.x - testPan.size_x)/4;
testPan.pos_y = (screen_size.y - testPan.size_y)/4;
}

}

function main()
{
video_mode = 8;
fps_max = 60;
level_load("Level1.wmb");
def_move();
mtl_hdr.skill3 = floatv(50);
pp_set(NULL,mtl_hdr);
while(1)
{
wait (1);
if(key_x) shot();
}

}