Here's another spellcasting idea, borrowed this time from UnAngband: Don't just use "intelligence" as the be-all and end-all of spellcasting stats! Split it up amongst several stats! Let intelligence determine how many spells you can memorize, because you have to be smart to remember them all. Let wisdom determine how powerful your spells are, because only wise men have true magical power. Let dexterity determine how likely your spells are to actually work, because if you do the hand-waving wrong it will really screw up your spell!

You can even combine this with the runecraft idea: don't let the player use all of his myriad spells at once, but instead give him a limited number of memory slots, dependent on intelligence, in which he can place spells; in order to use a spell which is not in memory, he must have the two runes used to create it available to study from and either "copy" them (casting the spell immediately but perhaps using more game ticks since the character must concentrate both on reading the runes and moving his hands, or perhaps even destroying the inscribed runes which he is carrying) or memorize them (deleting one of his existing spells from memory if there are no more free slots).