Thank you vr! The module works as expected when following your instructions. Apparently the documentation synopsis contains two severe errors.
my $sonic = Imager::GIF->new(file => 'sonic.gif');
my $sonic = Imager::GIF->read(file => 'sonic.gif');
$small_sonic->write(file => 'small_sonic.gif');
The first problem, not using the read method to construct the object,
was causing the write error. The second issue, supplying a hash instead of
file name to write method, silently fails to do anything.