This is my c# code, works for me for multi levels and hope you can convert into VB.NET.
Say for instance, i have a table called "products", data columns "id" (primaty & unique?) & "name"...blah blah... and set the "Key" element of the node to products->id when loading the tree view.
Now I am able to programatically select a node as follows for a given products->ID
treeView1.SelectedNode = treeView1.Nodes.Find(txtFind.Text, true).First() ;
When you do the update, hope you know the products->id value and can find and highlight the node programatically after the update statement and loading the tree view again.
Similarly when you do an insert, you can get the inserted ID and do the same. Hope this helps but depends on how you have implemented the tree view in your system.
Let me know whether it helped