Ya I got it figured out finally. My host had error messages turned off so it was a pain in the ass to figure out.. I finally got GD set up right on my local test bed and it all started making sense

. Here's the 'finished' code if anyone ever needs it.
Code:
function do_thumbs( $fn ){
$img_src = "../rep_pics/large/$fn";
$med_height = 250;
$med_width = 200;
$med_dest = "../rep_pics/medium/".$fn;
$sml_height = 125;
$sml_width = 100;
$sml_dest = "../rep_pics/small/".$fn;
$source_handle = imageCreateFromJPEG($img_src);
$src_height = ImageSY($source_handle);
$src_width = ImageSX($source_handle);
$med_image = imageCreateTrueColor( $med_width, $med_height );
imageCopyResampled($med_image, $source_handle, 0, 0, 0, 0, $med_width, $med_height, $src_width, $src_height );
imageJPEG($med_image, $med_dest, 90);
chmod($med_dest, 0777);
imageDestroy($med_image);
$sml_image = imageCreateTrueColor( $sml_width, $sml_height );
imageCopyResampled($sml_image, $source_handle, 0, 0, 0, 0, $sml_width, $sml_height, $src_width, $src_height );
imageJPEG($sml_image, $sml_dest, 90);
chmod($sml_dest, 0777);
imageDestroy($sml_image);
}