Да, действительно, одни и те же нельзя использовать в разных датагридах. Как вариант могу предложить:

Код AS3:
registerClassAlias ("copiedColumn", DataGridColumn);
var tempCols:Array = [];
for each(var col:DataGridColumn in dataGrid.columns)
{
var buffer:ByteArray = new ByteArray();
buffer.writeObject(col);
buffer.position = 0;
tempCols.push(buffer.readObject() as DataGridColumn);
}
dg.columns = tempCols;