It is stated that The World has an effective range of 10 meters. It is a close-range stand, and we know that if any of the Joestar group entered this range of 10 meters, they would automatically be killed by The World with the power of the time stop. It's why Dio doesn't kill the group immediately when they reach his coffin, and it's also why Dio has to chase them. Even with The World's time stop ability, the group was not in range. However, Kakyoin was near the edge of a 20 meter Emerald Splash, yet he was killed. How did this happen?
The stand has a range of "approximately" ten meters, meaning that Kakyoin could've been just inside the Stands Range (unfortunately for him).
Dio probably knows by eye exactly how far away his enemies are from him and whether or not he'd be able to catch them in The World, so he walks forward until Kakyoin is just in range and then uses The World - otherwise he'd be wasting a perfectly good use.
I think also that Emerald Splash was 20 meters in diameter, not 20 meters straight forward, making it more likely that Dio would've been perfectly in range.
(...) if any of the Joestar group entered this range of 10 meters, they would automatically be killed by The World with the power of the time stop. (...)
10 meters is The World's manifestation range. There is no need for a time stop.
Kakyoin knew this and only this, so he thought he would be somewhat safe if he was in 20 meters of DIO. What he didn't anticipate was for DIO to stop time, approach Kakyoin until he is in range of The World, then attack with The World.
Kakyoin learned the range of The World when he attacked DIO in his car earlier.