Here's something I like a lot.
If you don't want to click the link, here's the gist:
Spell lists suck. You know what doesn't suck? Magic words. If you look through the spell list and take the words, you can recombine them into new spells and have a lot of fun doing it.
That's it. Go read the blog post.
Alright, you done there? Check this out, too, if you liked it.
As I've written before, I'm working on my own heartbreaker, which is really just a set of house rules that I like and have used, plus a couple of things that I want to try out. And minus all that dumb shit that shouldn't have been in there in the first place. 
One of the things that I wanted to deal with was magic. Writing a list of spells sucks, and playing a wizard who summons his arcane might from what amounts to a really boring shopping list also sucks. What super sucks is that you have in front of you all of the spells in the game  and so magic battles come down to figuring out what the other wizard shopped for and hoping that your selections were more appropriate to the situation.
At first, I was going to write up a spell system where you took a handful of fairly vague spells and then rolled dice and built it on the spot. If you've got Weather and you rolled 3d6 for a result of 15, now you can look at your list of spell effects and... let's see, change the weather to stormy for 1d6 turns!
Pretty good way to avoid having to write a list while still keeping magic a little unpredictable. You just describe the effects you can get and how high you need to roll for it, you keep wizards from all doing the same thing, and you never know what the other wizard's going to get up to even if you know that he likes blasting things.
But I like this better.
So you're a first level wizard. You have X magic points available per day for your spellcasting.  You also have a couple of words, rolled randomly from a list. Write down what they mean, and tell the GM what you want them to do (more or less).
Spells have levels, determined by the amount of MP you spend to cast them. A first level spell costs 1 point, a 2nd level spell costs 3 points, a 3rd level spell costs 7, a 4th level spell costs 18, and so forth.
The level you cast the spell at determines what it does. There's a smallish chart- a spell that takes an attack roll does 1d6 damage to a single target per level. If it doesn't take an attack roll, then it does 1d4 damage. If it's an area attack, then divide up the damage.  Everything else is between you, the GM, and your collective senses of wonder and creativity.
What does "Hold Magic" do, exactly? Is it a counterspell (as Lum suggested), or is it a method for delaying magic (as in, a delayed fireball, perhaps). Does it let you capture a spell and use it later? Does it have a mnemonic-type "memorize more spells" effect (as in, holding the magic in your mind)? I dunno, man. You tell me. Go ahead and write up some spells and let's think it over.
The best thing, though, is that finding spells isn't about finding pre-made spells somewhere. Now you're looking for the Words of Magic, scouring seemingly boring tomes to find a veiled reference to a magic word, and hidden formulae- a ha, there it is! "Teleport!" Now what do I do with it...
And then at a certain level spellcasters should be able to chain more words together, right? Only now they cost double, or whatever, because "Teleport Unseen Fire" is a pretty cool spell and so is "Prismatic Steel Servant," and, again, I have no idea what those do because I haven't written it down.
Oh, also: Wizards need to write down their words into spellbooks. "Word" is a bit of a misnomer because wizards are actually writing down syllables in the language of creation which, as it turns out, is nearly incomprehensible to the human mind and only years of study, great note-taking skills and some fairly decent shorthand allows magic users to utilize. Capturing spellbooks gives you a chance to learn their spells and maybe even their words but it's not guaranteed and it's going to take you a while!
So that's what I'm working on including. Lemme know what you think.
 Man, people who don't have the same opinions as me are dumb! Right?
 Unless you invent your own spells, but that requires writing them up and then giving them to the players, who can still choose not to take them because they'd rather prepare the already overly efficient Sleep, Magic Missile, and Fireball. Your options thus are: A spell that's too efficient (and will get picked first now), a spell that's too narrow (that somebody might prepare once in a blue moon), or a spell that's really weird that somebody might pick because it's fun.
 I was going to do spell slots but as I was brainstorming with a friend, he was like "why not just use MP?" Here's the original idea: You have a handful of spell slots per day. They have levels- a 5th level wizard might have four 1st level spell slots and 2 second level spell slots. When you cast a spell, expend a slot. A spell counts as the level of the slot it's cast from- a fireball might do 1d6 damage per spell level, and magic missile creates 1d4 unerring force blasts per 2 levels. Or whatever. Magic points makes the math a little easier and lets you shoot lots of little spells during the day, if that's what you want, so it's a plus. And it's not that much harder to track, really.
 I know that this makes fireball a little weaker but honestly 5d6 damage (or whatever) is a lot and having a sort of choice between "do I plug this dude over here" or "do I blast minions" is kind of a neat choice.