No need to have another TImageEnView. Use a temporary TIEBitmap and LayersDrawTo, for example:
with ImageEnView1 do
begin
IO.LoadFromFile('C:\pic\bg.png'); //640x640
LayersAdd;
IO.LoadFromFile('C:\pic\prod.jpg'); //1600x1200
CurrentLayer.Cropped := True;
end;
// of course you need also "var bmp:TIEBitmap"
bmp := TIEBitmap.Create(ImageEnView1.Layers[0].Width, ImageEnView1.Layers[0].Height);
try
ImageEnView1.LayersDrawTo(bmp);
bmp.Write('C:\test.jpg');
finally
bmp.Free();
end;