Tracking the known ranks of spells for divine and battle magic for PCs and NPCs in Openquest is the most tedious and annoying part of character creation and progression. I recommend getting rid of it. Here is the system I will be experimenting with in the next Dawnlands campaign to replace it. The divine magic calculation is taken from Mongoose Runequest 2.
Battle Magic: Characters may cast any battle magic spells they know at a magnitude less than or equal to 1/3 of their POW. They choose the magnitude of the spell at the point of casting. The spell costs a number of Magic Points equal to the magnitude of the spell
Divine Magic: Characters may cast any divine magic spells they know at a magnitude less than or equal to the tens digit of their appropriate Religion (Cult) skill. They choose the magnitude of the spell at the point of casting.
New battle magic spells cost 5 Improvement Points to learn.
New divine magic spells cost 5 Improvement Points to learn.
New sorcery spells cost 5 Improvement Points to learn.
This has the effect of slowing down the development of magical breadth, while extending depth in its place, so that PCs have an incentive to focus on specialising in a few spells rather than becoming a magical grab bag. It also rationalises sorcery spells with the other two types to keep tracking how many IP you've spent on spells easier, and because I think Sorcery spells are too easy to pick up (2 IP each under the current system). Finally, it prevents having to track individual spell ranks, which reduces book-keeping drastically, especially when you're creating new powerful characters on the fly.