For what it's worth, I was able to fix this for my own purposes simply by removing the style information from the thumbnail image in the widget. Specifically, I changed line 413 of nggwidget.php from:
$out .= '<img src="'.nggallery::get_thumbnail_url($image->pid).'" style="width:'.$options[$number]['width'].'px;height:'.$options[$number]['height'].'px;" title="'.$image->alttext.'" alt="'.$image->alttext.'" />';
to:
$out .= '<img src="'.nggallery::get_thumbnail_url($image->pid).'" title="'.$image->alttext.'" alt="'.$image->alttext.'" />';
This will stop the browser from stretching the thumbnail in unpleasant ways. It may make rendering slightly less efficient, I don't know, but even so that seems like a fair tradeoff.