El problema lo tienes en el procedimiento
ActivarMenu.
Hay un momento en que haces eta comprobación:
Código Delphi
[-]
if Nodo = nil then
nod := TreeView1.Items[i];
Y cuando
nodo vale
nil, sigues adelante y un poco más abajo haces:
Código Delphi
[-]
if Nodo.Parent <> nil then
Ese acceso a
nodo.Parent da
AccessViotation ya que
nodo=nil.