Приветствую, Alex2013!
Да, нужно применять
оба метода вместе - первый метод прорисовывает непосредственно меню и его пункты, а второй код - заливает белым цветом оставшуюся полоску меню (которая в моем скриншоте выше - серая).
У компонента TMainMenu в свойствах должно быть проставлено OwnerDraw = true, это свойство есть в компоненте, начиная с Lazarus
1.7, у Вас версия 1.4.2
(Возможно из Аэро и Вин 7 ? )
Нет, у меня на Windows 7 с включенным Aero всё нормально, на Windows 10 тоже все работает.
Версия Lazarus 1.4.2, скорее всего, не позволит реализовать корректно. Последняя версия Lazarus 1.6, моя версия Lazarus 1.7 собрана из транков.
OnDrawItem и OnMeasureItem находятся на вкладке "События" в TMainMenu, проверьте, есть ли такие свойства в Вашем Lazarus.
P.S. Если Вам понадобится Lazarus 1.7, пишите мне в ЛС, я могу отправить сборку.