Imager's default combining mode is "none" - which replaces the target pixel, you can supply a fill object (or get Imager to make one) that uses the "normal" mode to get the transparency effect you're after:
use strict;
use warnings;
use Imager;
my $img = Imager->new(xsize=>700, ysize => 500, channels => 4);
# setting Imager::Color->new($red, $green, $blue, $alpha);
my $blue = Imager::Color->new( 0, 0, 255, 255);
my $red = Imager::Color->new( 255, 0, 0, 63);
$img->box(color => $blue, xmin=>10, ymin=>30, xmax=>200, ymax=>300,
filled=> 1);
$img->box(fill => { solid => $red, combine => 'normal' },
xmin=>50, ymin=>80, xmax=>250, ymax=>350);
$img->write(file => 'transbox.png')
or die;