Как вы, возможно, хорошо знаете, Mathematica загружает двоичные файлы MX, которые реализуют некоторые из его функций. Эти файлы MX хранят реализации, а также определения и атрибуты.
Это коварно, но ваш Unprotect[Rule]
отменен недавно загруженным файлом Mathematica MX, и это объясняет, почему он работал во второй раз. Поскольку Mathematica уже загрузила все необходимые ему MX-файлы.
Если вы сначала оцените все символы в своем выражении, то он перестанет жаловаться:
{Unprotect, Rule, Attributes, Plot, LogLinearPlot, ListPlot,
ParametricPlot3D, True, False, Print};
Unprotect[Rule];
Attributes[Rule];
pp = Plot | LogLinearPlot | ListPlot | ParametricPlot3D;
(h : pp)[True -> False] ^:= Print["Irrelevant data"]
РЕДАКТИРОВАТЬ Первая оценка необходима для запуска всей автозагрузки перед снятием защиты Rule
.