I use the TreeListCtrl has some sort of display which change the value in it constently, but I had problem with the parent node, cause if they where open or close the SetItemText method() would update different row... Fix it with a little change were you overide the SetItemText Method, here it is.
m_tree.at(nItem).m_lstCols[nSubItem] = lpszText;
An by the way, I did the same thing to the SetState Method... It's a way to synchronise your Array of List with the Visual... Any disadvantage you think? Would it be a good thing for all methods that act directly on a precise row?