Erm a hundred onscreen movieclips running a script would definately lag, since I assume you've got a really ugly way of allocating a new onEnterFrame function for every instance. If that's the case you might want to create prototypes to handle object behaviour. That is, a single object that Flash automatically looks in if it can't find the right property on the movieclip directly.
Warning excessive leet coming up.
// Example particle class thing
ParticleClass = function () {
this._x = 300;
this._y = -50;
this.xs = Math.random () * 20 - 10;
this.ys = 10;
};
ParticleClass.prototype = new MovieClip ();
ParticleClass.prototype.onEnterFrame = function () {
this. _x += this.xs;
this._y += this.ys;
this.xs *= 0.999;
this.ys += 0.2;
};
// note you gotta use 'this' because otherwise the function
// tries to refer to the context it was defined in
...
{
var p = attachMovie/duplicateshit;
p.__proto__ = ParticleClass;
}
// :3