How did Kakyoin get hit by The World when he was outside of its range?
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.