You said you was thinking of something in between realtime and turn based. Can we elaborate on that? I think it is very relevant to how the magic system will work.
In the traditional sense, there are two kinds of magic:
INSTANT (some effect that is applied instantly, which changes the character stats)
BUFFS (some effect active on a unit for fixed duration)
In a real time version, the duration is time based. Turn based, the duration would be for a fixed number of turns.
The buff prevents the same magic spell from being cast upon a unit many times in succession for many different magic users. Since the buff must expire before it can be applied again, or something similar.
MAGIC RESISTANCE is possible with instant casts, in which the stats are not affected by the spell as adversely (eg damage reduction). Buffs on the otherhand cannot be distorted this way, so they either apply or they don't. Magic resistance can affect the probability that a buff is applied or deflected.
BINARY spells include those with both instant and buff effects. However, because these two components of the spell are related, you can't have one without the other, so magic resistance must affect the probability of the both components of the binary spell, rather than via reduction.
POWER. We may also want a spell to be duplicated at different powers, so for example, the hurl boulder spell of a golem may have higher powers for the higher classes of golem (yet be independent of the golem's power level). So for a mud golem, it may be hurl_boulder_1 at 50 points of siege damage. For a rock golem it may be hurl_boulder_2 at 100 siege points, etc.
We may want to devise a standard set of spell powers. How many would be enough? How many would be too many? ( eg, 1-->6 ? or 1-->12 ? )