probably relates to MC-88533
when summoning a marker armorstand at the edge of a block and trying to make it detect itself using dx/dz it will fail.
Steps to reporduce:
1. summon one armorstand at a fixed position:
/summon armor_stand 5 5 5 {Marker:1,NoGravity:1}
2. try to make it detect itself using execute:
/execute @e[type=armor_stand] ~ ~ ~ /say @s[x=0,dx=10]
the command will fail. So will
@s[z=0,dz=10]
.
@s[y=0,dy=10]
on the other hand will succeed.
3. try the same thing with a fixed position not at the bottom of a block, like
5 5.5 5
-> it works now.
4. try the original coordinates with a non-marker armorstand
-> it works as well.
It's a duplicate of that, providing any of the dx dy dz arguments, the unprovided ones default to 0, so it's still dy=0 that's the problem.
There's a reason the title of that ticket says "properly". 😉