Currently, in LSL, there are quite a few arbitrary limitations given to scripters, mostly in the form of functions that cause the script to sleep for times between .2 and 20 seconds. Other limitations include "script energy" and obscure minimum or maximum values in physical movement function calls.
These sleeps seem to serve several purposes. Lowering processor usage, lowering network usage, and to discourage griefing. With many recent changes to Second Life and taking into account how easily these limits are circumvented (at a cost to the sim), they need to be rethought or removed entirely.
Between Mono and Havok 4, sims will have a lot more "free time" to process the actions that are currently limited. Even before, most scripters got away with using a multitude of slave scripts to accomplish most things prevented by a sleep delay, which (as far as I can tell) has a far higher impact on a sim than repeated function calls, especially under Mono.
Network usage is already strained all to hell if you're in any average sim in SL, and if someone really wants to display a bunch of textures or move a bunch of prims around, they'll use slave scripts. In addition to creating just as much user-end lag (visual and network) as it would without the need for slave scripts, this adds more load to the sim's processor.
When it comes to protection from griefing, VERY little can be done to stop anyone with a little determination. Often enough, just using slave scripts gets around any encountered limitation, while again, achieving the effect of adding more load to the sim's processor--a bonus for anyone wishing to do a sim harm.
In every case, the commonly used solutions to these built-in limitations are, in the end, more damaging to the sim. Simply allowing people the functionality they've already achieved through a simpler, more straightforward means would make scripting much easier for the novice, and open up many more possibilities for the expert. What good is it to make script processing faster and more effecient, when the scripts are still artificially slowed to the point that people have to make MORE scripts to achieve the desired effect, slowing down the entire sim in the process?
The biggest argument I've heard for keeping the sleeps, script energy, and limitations to physical movement, is that some legacy content would depend on them for proper timing or functionality. The solution would be to leave sleeps as a default behavior, but allow a funtion call to disable funtion sleeps within a script, much as you can disable the passing of touches or other basic properties. llLegacyLimits(FALSE), perhaps.