A key thing to note about the recent changes to Hail of Blades is that HoB does not count attack resets towards its 3-attacks-only counter.
What constitutes an attack reset?
From my experience, an attack reset is basic attack performed outside of the tempo given by the champion's attack speed.
Methods of performing attack resets have generally been using ability after a basic attack where you can basic attack again afterwards.
As strings of basic attacks work, they perform at the tempo given by the the champs attack speed. You can interrupt this tempo or string of attacks by using an ability of any kind. After the ability is done channeling or resolving, the tempo of basic attacks resume. Therefore, performing an attack immediately after an ability is what I've come to find is a basic attack reset. Not that this is my finding but this is just how I can best explain it.
So what happens with Shens case?
In Shens case, activating Q will not reset his attack timer since he does not gain the buff until his Spirit Blade lands at Shens location, after which WILL reset his attack timer in order to perform new attacks. During his expenditure of each stack of his Q buff, regardless of whether or not his Spirit Blade passes through an enemy champ, uses a different attack animation for each swing. So I presume having to use a new attack animation serves as having to reset the attack timer, thus performing 3 attack resets in a row in the tempo of how fast Shens attack speed is. Thus never proc'ing HoB and never consuming HoB stacks.