So...i don't know how well this is known, but i found a thing.
The rockets from rocket puppy don't do the same damage (at least to shield) all the time.
It takes 3 tiles in distance for the rocket to "arm", so if you stay 4 tiles away from the puppy and block the rocket, your shield will be badly damaged.
But, if you stay within 3 tiles and block, your shield will take NO damage, as long as it's at max health (only tested on elemental shield). If the shield is already a bit damaged and you block a rocket within 3 tiles, your shield will barely take damage, the shield health regenerating faster than the rockets can damage it. But they still knock you back, so be careful of that.
I haven't noticed anything like this, but that could be just because I'm unobservant. Some questions:
Your post is all about shields' taking damage. What if you don't shield? Does the knight not take damage either, within 3 squares of the rocket puppy?
Is it possible that this "arming" is time-dependent rather than distance-dependent? I wonder whether you could circle a rocket puppy closely enough, to keep the rocket within 3 squares without having it blow up. Then would it never arm? Or does it arm after a certain amount of time (say, 1 second), and that just looks like 3 squares to you, because that's how long it takes the rocket to travel 3 squares?
Which shield have you been using? I'm wondering about damage vs. status.