This answer makes it clear that each pull must result in the enemy moving closer to the puller. But on a square grid, don't you count each edge that must be crossed as a unit of distance? For example:
-------
|T|*|X| P = Puller X = Illegal New Position
-------
|*|P|X| T = Target
-------
|X|X|X| * = Legal New Position
-------
If the Puller pulls the Target, are the new positions (*) legal?
It seems to me that the distance from T to P is 2 but the distance from * to P is 1. And therefore it seems to me that Puller couldn't pull T to any of the X squares because the number of edges goes from 1 to 2 as you move from a * square to an X square.
Is this the correct interpretation of the movement rules in 4e?