Not sure what you mean by "index".
I always delete a node by focusing on it, then deleting it.
example:
procedure TfSNMPGet.mDVDeleteClick(Sender: TObject);
// Delete an individual device ...
var
DevNode : pVirtualNode;
begin
If not Assigned(vstDevList.FocusedNode)
Then Exit
else
begin
DevNode := vstDevList.FocusedNode;
vstDevList.Selected[DevNode] := True;
vstDevList.DeleteNode(DevNode);
vstDevList.Refresh;
end;
end; // of mDVDeleteClick