I tried to stay off the magic topic because I feared it would somewhat derail this thread, but I guess it's doomed already
IMHO, magic is a lazy option used by game designers. It's just lazy, lazy. How do the heroes break into a castle? Well, they cast an earthquake spell which magically summons an earthquake. Poof, there goes the castle.
Low magic is good. I think one way to actually make magic fun is by sticking strictly to material components, just like D&D originally intended. If you want to cast a fireball, you need some sulfur. Go mine some and load up on sulphur before a battle. If you want to cast a bigger spell that traps souls or something, you probably need a well-crafted sapphire. Something that summons demons might need some live sacrifices. A spell that turns lead into gold could require sacrifices or bones from a certain creature. A Magic Missile 'turret' needs a chunk of silver + a totem pole (which spits out the magic missiles). It also needs to be reloaded with silver occasionally.
Material components. That's how DF is played, and that's how it should be played after magic is in. The flashier the magic, the more materials it needs.. and the more SPECIFIC the materials are.
Also, it would be fun if it was partly randomly generated. Maybe you have to research spells (ala Dungeon Keeper) to use them, but a fireball in Fortress A might use coal, while fireballs in Fortress B could use glass instead, and in fortress C, the mage just needs a single tourmaline gem to cast fireballs.