Spells

Below are the changes I had made to spells.

Heal

So I looked Heal over and saw that there are some gaps in the design, as well as the spell not being very useful to a party.

The Touch range was the biggest issue, since it simply said that if you want to heal a warrior mid-combat, you're gonna need to be up close and personal. This is, quite obviously, an issue.
Suggested Change: the easiest path here is to simply state that it has a range in spaces. This is not interesting though, and doesn't take much to figure out. I'm suggesting that there is no real limit on range, but every 5 space increment puts another -10 on the roll to cast. Healing the body is hard enough work when touching.

Another issue was that there isn't a clear indication about how to heal a group when you're using touch range. In fact, there isn't a clear indication of how touch works.
Suggested Change: I have two ideas for this bit. The first is to impose a stacking -10 for each person you are healing in a single spell. To heal several using touch range, simply have them all touch each other in a chain. The second idea is that you have no penalty for healing several, but the damage you roll to heal needs to be spread out among the recipients. This is grittier healing since the overall potential drops.

A third issue, extending from the second one, is that you don't have much healing in you per day. Assuming 1D enemies is common, and each enemy dealing a whopping 1D damage, the 2D healing you get per day is hardly enough.
Suggested Change: this one is easy. Call it 5D per caster level instead of 2D. This assume a party of 5 each getting 1D healed per day, which is fair.

And now, purely a suggestion rather than some kind of fix.
Given that 1D can produce a result of 1, which can be devastating, I suggest the following: a caster may opt to take a -10 and -20 in order to turn 1D into 5 or 10 (no D) respectively. The penalty applies per D you change. If you turn 2D into 10 each, it's -40. This allows accomplished casters to heal efficiently while giving the beginner casters a chance to pull out a big one.

Repel

I had looked over Repel and my judgment was thus: it feels overpowered and underpowered all at the same time. It also lacked an intricacy in making it worthwhile in the middle ranks.

My primary issue is the amount of creatures you can repel and under what circumstances. It forces a handful of enemies of up to your own rank to back off. Those half your rank and under and destroyed completely. All things considered, a rank no more than yours is underpowered and the half or less rank is overpowered. A rank 2 caster can wipe out an entire room without breaking a sweat.
Suggested Change: so what would I change? The answer is scope. This is a prime example of a good constructed spell. You choose the parts of it in order to achieve a final score:

  1. The base is choosing the strength - the maximum rank it can repel. Your own rank has no modification, below is +10 per rank and above is -10 per rank. If you're rank 3 and repel rank 5, it's at -20 while rank 1 is at +20.
  2. Once you decide the strength, you choose how many you can turn. I suggest an additional change here in the form of total ranks you can repel, as opposed to total enemies. That is to say: if you're rank 3 and roll a 6 on the 1D, you can turn a total of 9 ranks of enemies - 3 rank 3, 2 rank 3, a rank 2 and a rank 1 and so on. Start with 1D+CL and each 1D more is a -10 to the roll.
  3. Finally, is the force. This is how far they must stand. Start with 1D+CL again and each extra 1D is a -10 penalty.

Should be noted that you aren't seeing how to destroy things here. If it were up to me, there wouldn't be that option. However, if one insists, say it imposes a -20 to roll and can only be done on something half your rank.

The biggest change I have done here is allow the spell itself to work well outside the power of the character, if they can fuel it. A first ranker can repel a dragon, if they can cover for that -50.