Shifting away from the geometrics of the hitbox, it seems like the concept of the forward-stepping hitbox is flawed. First, you have to remember a few things (at least in reference to any decently-coded FPS):
1. Movement is not lagged. The server knows almost exactly where every player is at all times, where every OBJECT is at all times. Player data involving their positions contains both a X,Y,Z position and a vector. In other words, the server gets both "where I am now (definately)" and "where I will be soon (probably)". The server uses the vector to compute every single point in between data packets, so if the player is slow to send packets, it still knows where it is (relatively). (Changing direction could be lagged, but this isn't nearly as important.)
2. Object creation, or firing a bullet (or just plain any new action), COULD BE lagged. The server cannot predict when you're going to do something new until you actually do it, so it's at the whim of a data packet to say "Hey, this is some new shit here, so handle it when you get it".
Given that, there are a couple of problems with the actual concept of the "laggy" hitboxes:
1. The hitboxes are INVERSED! In its current state, this isn't used for compensating for lag; it's used for compensating for Jedis using their predictive powers to shoot the enemy before they appear. The hitbox should be BEHIND the player, so that if somebody sees the player (which is accurately predicted by both server and client, remember) and fires a bullet, the lag time between firing the bullet and the server calculates that the bullet actually hit is compensated by the hitbox.
2. The hitboxes aren't variable according to how MUCH lag per client the player is experiencing. If a client has say, 100ms average ping time, they should have a hitbox 100ms behind the actual targets. Obviously, in a client server game with no lag, the hitbox should BE the actual targets, not behind or forward of it.
/doesn't even play CS:S, but has an interest in FPS programming
Rosalina: But you didn't.
Robert: But I DON'T.
Rosalina: You sure that's right?
Robert: I was going to HAVE told you they'd come?
Rosalina: No.
Robert: The subjunctive?
Rosalina: That's not the subjunctive.
Robert: I don't think the syntax has been invented yet.
Rosalina: It would have had to have had been.
Robert: Had to have...had...been? That can't be right.