How to migrate files into a field with unlimited values (D6 -> D7)
Finally figured it out. The image field with unlimited values needs a default value with file paths presented as an array. As the array in $filepath was 2 dimensional (an array in an array), I needed two foreach loops to get down to the simple array needed. This is now a working example, I publish it here in case somebody have the same question:

$i = 2;
$filepath = array();
if($row-&gt;field_productimages[$i] != ''){
    while($row-&gt;field_productimages[$i] != ''){
        $fid = $row-&gt;field_productimages[$i];
        $filepath[] = Database::getConnection($target='default', $key='legacy')-&gt;query('SELECT f.filepath FROM {files} f WHERE f.fid = :fid',
        array(':fid' =&gt; $fid))-&gt;fetchAssoc();
        $i++;
    }
    foreach ($filepath as $value1){
        foreach ($value1 as $value){
          $files[] = $value;
        }
    }
    $this-&gt;addFieldMapping('field_bildspel_instrument')-&gt;defaultValue($files);  
    $this-&gt;addFieldMapping('field_bildspel_instrument:source_dir')-&gt;defaultValue('http://www.myoldsite.se/');
    $this-&gt;addFieldMapping('destination_dir')-&gt;defaultValue('public://product/slideshow');  
    $this-&gt;addFieldMapping('field_bildspel_instrument:file_replace')-&gt;defaultValue('FILE_EXISTS_REUSE');
    $this-&gt;addFieldMapping('field_bildspel_instrument:file_class')-&gt;defaultValue('MigrateFileUri');
    $this-&gt;addFieldMapping('field_bildspel_instrument:title', 'field_productimages:title'); 
    $this-&gt;addFieldMapping('field_bildspel_instrument:preserve_files')-&gt;defaultValue(1);    
    $this-&gt;addFieldMapping('field_bildspel_instrument:urlencode')-&gt;defaultValue(1);     
}