That's so annoying.
From the bit of poking around that I just did, it seems that if a spell is blocked by the shield it doesn't set the abHitBlocked boolean to true in the OnHit event's variables.
EDITWhat about an IsBlocking condition?
Hmm, this could very well work.
It wouldn't account for situations where someone (player included) gets hit in the back or head/feet, but it's better than nothing for now.
I wonder if it's possible to check the direction of the projectile passed by the event...
EDIT ...well, you can't. The akProjectile is of the type Projectile, which extends Form, not ObjectReference. No way to check its orientation and compare it to the player's to see if it was coming from the front.
Any ideas, guys?