It's shoddy programming OP, and infruriating. To cap it all, the same NPC Eagle I successfully evaded 31LY away manages to not only appear in same system, but ~50LS away from the destination I was travelling to. A-ma-zing!
It does seem lazy, and it ruins suspension of disbelief which is something absolutely fundamental to this game. It's such a pity, when other aspects suspend disbelief in very effective ways.
When I've just jumped 30ly through the hyperspace tunnel it genuinely
feels as though I've moved 30ly through space, which is an incredible achievement when all the game is really doing is replacing a few well-rendered geometric shapes with a few different well-rendered geometric shapes. It's one of the reasons I explore so much. Because even though I know I've really just wasted an hour in front of my PC watching rendered balls of gas changing, it also feels as though I've covered 2000ly. No other game has ever achieved for me a sense of scale and distance like
ED.
But then if I'm doing 20ly hops on a mission, and a semi-persistent NPC "follows" me in a ship that I know can only do 17ly tops, it just serves to remind me that it's only bunches of code.
The answer seems so simple: restrict the pool of ships available to mission NPCs so they always have a jump range equal to or better than the player's.
I'm hopeful that 2.1 will address this issue among others, but it still amazes me that it was ever allowed to be like this in the first place.