You can add a picture so that the top-left of the image is in the top left of the active cell. You were actually very close in your attempt. I've tested that the following works:
use strict;
use warnings;
use OLE;
use Win32::OLE::Const "Microsoft Excel";
my $excel = Win32::OLE->new('Excel.Application');
$excel->{Visible} = 1;
my $workbook = $excel->Workbooks->Add;
my $sheet = $workbook->Sheets(1);
my $path = 'c:/images/';
$sheet->Range('a1')->Activate;
$sheet->Pictures->Insert($path.'Img1.jpg'); # top-left of pic in activ
+e cell
$sheet->Range('f10')->Activate;
$sheet->Pictures->Insert($path.'Img2.jpg'); # top-left of pic in activ
+e cell
--
I'd like to be able to assign to an luser