You should not delete the new node after it has been added to the tree. It's still needed. You should only delete a node when you are absolutely sure it's not going to be used anymore.
Node* tem = new Node (data) ;
Ihead ->_LHand = tem ;
delete tem ;
Here it looks like you are creating a node, adding it to the tree, and then deleting the node object. So now you've got pointers in your tree pointing to bad memory. This doesn't look right at all.