On some hardware, reading a status or a data register can clear an
internal interrupt flag, or something like that.
I don't know the EtherNat hardware, but just in case, I prefer to
warn.
Of course, your warning / cross checking is much appreciated. If I
understood the code correctly, there's that LAN_POINTER which poses as
some kind of offset, i.e. regardless of the number of bytes read you
can tell it to "fast forward" to the data you're interested in.
Anyway, if you carefully tested on a real EtherNat, there is no
trouble.
I don't have my ethernat here but I wanted to fix the build.