It's been often remarked that a D&D campaign has a "sweet spot" - a certain range of levels at which play is most satisfying and engaging. For some, it's the beginning levels, when the possibility of sudden demise keeps things tense. For many, it's the range between about 4th - 9th level, when characters have gained some competence in their classes but aren't yet nigh-invincible superhuman (or super-demihuman) world destroyers. It seems that very few indeed consider the sweet spot to occur at high levels; in fact it seems that a lot of old school gamers don't even particularly enjoy high level play.
One of the most troublesome things for me about high level campaigning is that of combat inflation. Bonus inflation from magic weapons, specialization, and such exacerbates the problem, but even stripping those away, by the time you get too far beyond name level, attack rolls are little more than a formality.
Let's consider the example of a Classic D&D fighter with a Strength score of 14 (a +1 attack bonus) - quite modest by the standards of many campaigns. By level 10, he's hitting an opponent in plate and shield 55% of the time, on a roll of 10 or better. He hits AC -1, the best possible AC for a player character without magical bonuses, 40% of the time, with a target number of 13 or better. Against an unarmored opponent, he's dealing damage 90% of the time, needing only a 3 to hit.
Of course, it's pretty unlikely that our fighter has reached 10th level without acquiring a decent magical weapon. Add a +2 bonus for his magic sword, and he's hitting AC 2 with 65% probability and AC -1 at a 50% clip. Against the unarmored opponent, only a natural 1 can stop him. And he still has 26 levels of experience ahead of him to improve!
By level 16, there's no point in wearing chain mail and shield in battle against this fighter. One might as well go completely unarmored, for all the good it will do. He needs a 2 to hit, either way. At 19th level, plate mail and shield is similarly irrelevant.
But wait, it gets worse. If our fighter is wearing magical armor and equipment that offers more than token protection against attacks of similarly powerful opponents, it means that opponents of more ordinary strength can't even scratch him with less than a natural 20. If our fighter is to be reasonably well protected against opponents of his own caliber, he'll need an AC of -4 or so. Our fighter at level 16 needs a 10 to hit this, so opponents capable of really challenging him will be in the same ballpark. (Incidentally, that's the same roll that an average 1st level character needs to hit AC 9! Yikes!) Your average soldiers, bandits, brigands, goblins, hobgoblins - in fact, anything short of an ogre - won't even scratch him on anything but a natural 20. An entire tribe of bugbears attacking him at once is more comedic than threatening.
Possible fixes include the following:
1. Just retire characters before they reach the level where things really start to melt down, or else cap levels below the rulebook limit of level 36. Many groups choose this option by default. By the time the PCs have reached name level, or before, the campaign has grown stale and they're ready to move on to something else with a party of new 1st level characters. The downside is that if you don't get tired of the campaign and you actually want to carry on with the current cast, you have nothing further to aspire to, level-wise.
2. Nerf the combat progression. This isn't as crazy as it might seem at first glance. In my first campaign, we had characters reach 6th or 7th level before we acquired the Expert Set (albeit using a linear XP progression rather than the doubling scale shown in the Expert Rules.) The fighters and demihumans were still using the Basic Rules attack table, the same that they started with at 1st level, and nobody complained. They fought some pretty nasty beasts, and even killed a couple dragons, not because their THAC0s improved, but because they had the hit points to survive a more protracted battle.
You probably won't want to keep PCs using the beginner attack tables through their entire careers, but improvement doesn't have to be as rapid nor as jumpy as the standard Classic D&D combat tables. For some reason, characters' attack rolls improve in jumps of two points - every three levels for fighters and demihumans, every four levels for clerics and thieves, and every five for magic-users. It would be simple enough to cut the increases in half, and improve only one point per interval. Other schemes are certainly possible; I had devised a chart in which fighters gain one point every other level, thieves and clerics gain one point every third level, and magic-users gain one point every four levels. The monster attack table should probably be blunted a bit too, to keep the balance of power between characters and monsters similar to the original.
3. Calculate attacks by comparing the levels of the attacker and defender. Subtract the smaller from the larger; the higher level one rolls his attacks as if his level were the difference. For example, an 18th level fighter battling a 12th level fighter would roll on the attack table as if he were 6th level. The minimum effective level is 1, so his opponent attacks as a 1st level fighter.
Clerics and thieves would use 3/4 of their level for this calculation. Magic-users use 2/3. Thus, the 18th level fighter squaring off against a 20th level thief would have the advantage and attack as 3rd level. (18 minus 3/4 of 20, or 15 = 3.)
Monsters use their Hit Dice. A 7th level fighter attacking a 10 HD dragon attacks as a 1st level fighter, and the dragon fights back as a 3 HD monster. An 18th level fighter attacks the same dragon using the attack rolls of an 8th level fighter, while the dragon uses the rolls of a 1 HD monster.
This simulates the skill of an experienced character at anticipating and evading the moves of another experienced character, while still allowing him relative supremacy over an inexperienced one. It's reasonable to suppose that a high level character could easily breach the defenses of a low level one, but it's rather silly to think that two evenly matched high level characters are going to be able to score hits on one another almost at will. This option would make armor, even of the non-magical variety, relevant and useful in combats between characters of legendary skill. Even unarmored fighters, if fairly close in level, will hit each other with about the same frequency at high levels as they would at 1st level. Magic weapons will retain their significance into the epic levels of play, as high level characters can no longer count on easily being able to hit any AC on their natural attack rolls alone.
Options 2 and 3 will both tend to decrease the probability of hitting one's opponent. Decreased frequency of hits means that high level combats will be much longer, as combatants struggle to chip away at large hit point totals. Increasing damage potential could help to compensate. Weapon mastery rules (sans to-hit bonuses) would work, as would simply increasing the damage potential of any weapon usable by a class at certain levels. For example, all damages might be bumped up to the next larger die. Fighters should certainly receive these "upgrades" earlier and more frequently than any other class, followed by thieves and clerics, with magic-users getting them later or maybe even not at all. The result would be that high level characters will hit each other less often, but do more damage on a successful hit, thereby making high level combat more "swingy" and less predictable.