IMO it has 2 failures themselves:
1. Spell duration, 1 min/lvl, I think 1 basic purpose of these spells is protection against cold/hot weather zones, then the duration could be at least 1 hr/lvl.
2. Protection against elemental attacks, the level 8+ spell, 'armor', it protects against ALL natural element (heat, cold, light...), but only give us a +20 (RR or DB) against elemental attacks, how can be this possible?. In other words, with the level 9 spell I can insert my hand into magma (natural heat) or dance in fire but if I receive an attack I have ONLY a +20 DB?. We have some racial resistance, as dwarves, that have more (+40 for heat), so is a bit rare that a dwarf has more DB against heat attacks but in the other hand he can't do the same things (dancing in fire he has poor future).
- So, IMO, this can be corrected by modifing the spells themselves:
1. The low level spells give us protection enough against weather, but low defense against attacks, the duration for these spells is 1 hr/lvl.
2. The high level spells give us real combat protection, they are very more powerfull,
for that they protect against ANY natural element, see that this is infinitely more protective than indicate a degree limit as low level spells (in nature we can reach very high temperatures). For this, the duration for this spells is 1 min/lvl. So they should give us very more than a simple + 20 RR or DB.
I think it is not unbalanced, because the more powerfull spells have a cost of 15-19 PP for only 1 min/lvl of protection and there are for 1 target only.
Then the question is the DB for high level spells, 'armor', because for the more high level spells is the same but reducing damage too.