SlickGrid - applying getItemMetadata making the row to loose its id

Bug demonstration.

HTML

<link rel="stylesheet" href="http://mleibman.github.com/SlickGrid/slick.grid.css">
<link rel="stylesheet" href="http://mleibman.github.com/SlickGrid/css/smoothness/jquery-ui-1.8.16.custom.css">
<link rel="stylesheet" href="http://mleibman.github.com/SlickGrid/examples/examples.css">
<script src="http://mleibman.github.com/SlickGrid/lib/jquery-ui-1.8.16.custom.min.js"></script>
<script src="http://mleibman.github.com/SlickGrid/lib/jquery.event.drag-2.0.min.js"></script>
<script src="http://mleibman.github.com/SlickGrid/slick.core.js"></script>
<script src="http://mleibman.github.com/SlickGrid/slick.formatters.js"></script>
<script src="http://mleibman.github.com/SlickGrid/slick.editors.js"></script>
<script src="http://mleibman.github.com/SlickGrid/slick.grid.js"></script>
<script src="http://mleibman.github.com/SlickGrid/slick.dataview.js"></script>
<script src="http://mleibman.github.com/SlickGrid/images/collapse.gif"></script>
<script src="http://mleibman.github.com/SlickGrid/images/expand.gif"></script>
<div id="myGrid"></div>

CSS

.cell-title {
      font-weight: bold;
    }

    .cell-effort-driven {
      text-align: center;
    }

    .toggle {
      height: 9px;
      width: 9px;
      display: inline-block;
    }

    .toggle.expand {
      background: url(http://mleibman.github.com/SlickGrid/images/expand.gif) no-repeat center center;
    }

    .toggle.collapse {
      background: url(http://mleibman.github.com/SlickGrid/images/collapse.gif) no-repeat center center;
    }

.slick-row.parentClassName, .slick-row.parentClassName:hover{color:#0e71b2}
    
    #myGrid{width:600px;margin:1em auto}

JavaScript

// Vars
var percentCompleteThreshold = 0;
var searchString = "";
var dataView;
var grid;
var data = [];

// Formaters
var TaskNameFormatter = function (row, cell, value, columnDef, dataContext) {
    value = value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
    var spacer = "<span style='display:inline-block;height:1px;width:" + (15 * dataContext["indent"]) + "px'></span>";
    var idx = dataView.getIdxById(dataContext.id);
    if (data[idx + 1] && data[idx + 1].indent > data[idx].indent) {
        if (dataContext._collapsed) {
            return spacer + " <span class='toggle expand'></span>&nbsp;" + value;
        } else {
            return spacer + " <span class='toggle collapse'></span>&nbsp;" + value;
        }
    } else {
        return spacer + " <span class='toggle'></span>&nbsp;" + value;
    }
};
var numberFormatter = function (row, cell, value, columnDef, dataContext) {
    var replacedVal = parseFloat(value.replace(',', '.'));
    try {
        if (replacedVal < 0)
            return '<font color="red">' + value + '</font>';
        else if (replacedVal > 0)
            return '<font color="green">' + value + '</font>';
        else
            return '<font color="blue">' + value + '</font>';
    } catch (e) {
        return '';
    }
}

var list_portfolios = [
    { id: 0, title: 'BEHAVIOR MASTER FIM', amount: '', price: '', nav: '52,551,439.58', weight: '46.79', indent: 0, parent: null},
    { id: 1, title: 'Real $', amount: '-1,056,495.73', price: '55.90', nav: '-1,056,495.73', weight: '-2.01', indent: 1, parent: 0},
    { id: 2, title: 'ALPARGATAS PN N1', amount: '12,200.00' , price: '0.39', nav: '638,232.00', weight: '1', indent: 1, parent: 0},
    { id: 3, title: 'AMBEV PN', amount: '301,000.00', price: '34.41', nav: '1,069,112.50', weight: '2', indent: 1, parent: 0},
    { id: 4, title: 'AMAZONIA ON', amount: '38,500.00' , price: '27.59', nav: '638,232.00', weight: '1.3', indent: 1, parent: 0},
    { id: 5, title:...