Heroes will only cast Master of Magic during battle; they sometimes cast other spells before setting up the enchantment. To work around this behavior, manually click Master of Magic, and use a covering enchantment (e.g. Aura of Restoration) prior to engaging foes.
Low level characters can maintain this enchantment (and thereby cast powerful elemental magic) after taking advantage of an Elite Tome.
Any attribute bonuses from runes or headgear are negated by this enchantment.