The following line looks strange to me:
loNode=loOleTree.Nodes.Add(,2, Category_ID, Category_Name,"CloseBook","OpenBook")
Why do you use "2" as Relation as you haven't parent node?
Better use this:
loNode=loOleTree.Nodes.Add(,, Category_ID, Category_Name,"CloseBook","OpenBook")
And one more thing: while working with TreeView I faced one problem. It didn't work with my keys untill I've added the "_" sign to the end of my keys. The keys were 100% unique but it just didn't work ! Maybe this fact can help you further. And I hope your keys are Strings !!!
Also don't forget that parent node should be already added to treeview before you add the child node.
Eugene