Pretty simple but annoying bug. Marker ArmorStands are not within r=0 of themselfs when they stand on the ground.
Steps to reproduce:
Stay on the ground
/summon ArmorStand ~ ~ ~ {Marker:1b,NoGravity:1b}
/execute @e[type=ArmorStand,c=1] ~ ~ ~ /testfor @e[r=0]
This will find the player (if he didn't move), but not the ArmorStand itself.
If you do /tp @e[type=ArmorStand,c=1] ~ ~0.0001 ~ it can find itself again, because it no longer has a y-Position without a decimal place.
If you fly in the air and use the same commands, it also finds itself as long as it's position has decimal places.
From testing it seems like x and z Coordinates are affected too, but with the y Coordinate it can be reproduced more easily.
Duplicate of MC-88533 per MC-79278.