Hey Sinth. Great thread. I feel like posts like this are step in the right direction. I'm all about educating people on core engine mechanics.
Another thing to note, also, is that technically the system we use now could actually be kept (for the most part). A lot of big MMOs also use time stamping on all their network I/O. This allows the server and client both to do a little calculation and prediction. I believe this is what make's blizzard's network code so ridiculously good.
Red AOE circle appears underneath your feet. As we know there's a constant 0.3 second update on your position.
In this example, you can see why people are getting hit with the AOE even though they got out of it, because the 3rd positional check didn't get sent to the server BEFORE the explosion went off. You actually can't really do much about this.
However, if every positional check is sent to the server with a time stamp, AND a specialized "I just got out the AOE" message, the server can actually do a little bit of math to determine whether you actually could have gotten out of that AOE (to prevent cheating).
The server has to analyze each positional check and time stamp and make some quick decisions. "Given the amount of time between these position updates, and the distance they moved, would it be possible for them to have moved between these two positions realistically?" (This would break teleport bots, also). A specialized "left AOE circle" is sent instantly after you left the circle on your screen, also with a timestamp.
With this system you can also let the client do some predictions and make your gameplay a LOT snappier. For example, your client knew you left the circle. So there's no need to show any damage taken, UNLESS the server directly tells the client to.
I apologize if the post was strangely written. Way too tired to be talking game/network programming. haha