Правильно делает. У тебя в момент создания меню (а OnChange вызывается именно в момент создания, или при переформировании меню, а не при щелчке на его элементе) Source = nil со всеми вытекающими последствиями. Лови TMenuItem.OnClick для каждого их пунктов меню и делай то, что тебе надо:
procedure TForm1.N101Click(Sender: TObject); var s: string; p: integer; begin s := (Sender as TMenuItem).Caption; p := pos('&', s); if p > 0 then Delete(s, p, 1);
Memo1.Font.Size := StrToInt(s); end;
, всем остальным пунктам назначь этот же обработчик...