I'm pretty sure this is because the experience for levels is not linear - try this instead, where currentLevel is the current level of the player.
cRoot:Get():ForEachPlayer(function(Player) Player:DeltaExperience(-(cPlayer:XpForLevel(currentLevel) - cPlayer:XpForLevel(currentLevel - 1))); end)