I did a search and responded to someone else’s post on this, but his post was 2 years old and no one ever replied to it, so I’m going to post again.
Game’s current version is 5.0.7.84643
On July 12, 2021, I started a mission with the following progress on the achievement:
2645/5000 (which I must’ve gotten when I originally leveled Zeratul when he first came out)
My buddy was Karax, I was Zeratul. He would take his Carriers to the bonus objective with no interceptors, and let it deplete his shields, then retreat to my group of Void Arrays to regen his shields. I was checking the achievement regularly during this time, and it would not update.
So I figured, we should pull our forces back to base, and I’d make a bunch of Shield Sentries (don’t remember their actual name) and a bunch of Stalkers. I would damage his shields myself, then let the sentries rapidly refill his shields. Did this for 56 minutes on Lock and Load. Achievement progress is unchanged during and after winning the map.
Still at 2645/5000.
EDIT: Problem resolved, please see below.
I don’t remember if it’s for this achievement, but I’m pretty sure there’s at least 1 achievement for which “the damage should not be inflicted by oneself or the ally”, so it may not count there because of that.
It’s a decent thought, but here’s the dilemma I can’t resolve in my head:
#1 - the achievement is about restoring shields, not dealing damage
and
#2 - we did spend half the time having the enemy depleting the shields, and restoring said shields with the 4 Void Arrays in deployed mode.
If restoring shields with Void Arrays isn’t allowed, I wish the tooltip would say that the achievement can only be progressed by using Xel’naga Shieldguards. And if that is the case, it would be supremely unlucky of me to have only used the Shieldguards to repair Friendly Fire.
I’m not saying flat out that you are wrong. I’m just skeptical of the requirements being that stringent. In all honesty, I do hope you are right and I intend to test it and get back to you on that; because that would mean I could finish it today and put it behind me instead of waiting for a bug fix. But the achievement makes no mention of it. It only says “Recharge 5,000 shields on allied units in Co-op Missions.”
EDIT (Resolution): Thankfully, you were right. There apparently was a programed exclusion for repairing friendly fire damage. I completed the achievement just now.
They really need to add to the tooltip that this can only be done with Shieldguards and not Void Arrays. Would have been more convenient with Void Arrays, can deploy them over unreachable terrain and have flying units get attacked, then retreat to the V.A.'s
I’m ok with them leaving out the Friendly Fire exclusion from the tooltip as that isn’t in the spirit of the achievement and can be considered an act of boosting.
Lol, I didn’t know Void Arrays can recharge shields too…and given your experience, maybe programmers of the achievement didn’t know/forgot about it too 
To get more in details, I checked in the map editor, in the Data/Achievements Terms tab:
- the effect required seems to be “VoidSentryShieldRepair”, there’s none other mentioned.
- the 3 validators are called “HaveZeratulCommander”, “TargetIsAlly” and “TargetLastDamagedByEnemy”. The last one is interesting, as maybe it would allow you to start killing the shields, then get at least 1 point of damage made on them by the enemy, then proceed to recharge.
Of course maybe there are other elements to make the achievement work somewhere else, and I didn’t see it all (at first I looked into triggers, but didn’t see anything there).