When the game was originally written for the PS2, they were stuck with a static frame rate. Knowing this, and having no plans to expand to PC or other platforms at the time, the original game engine coders decided to rely on this static 29 FPS to code other parts of the system.
Player movement rate, animation speed, and even the skill cooldown timers are all "timed" off this expected 29 FPS. It was a shortcut that ended up worming its way deeply into the code, and was then ported to PC and 360 intact.
Raising the FPS is easy. The hooks and such for DirectX code in Windower support it. The problem is, if you change the cap, the client breaks because it can no longer correctly play animations, move your character at the right speed, or correctly time skills. And there are no longer the core engine coders left on the XI team nor the budget to rewrite it.