Ага, спасибо за совет, и в правду, переменная i внутри функции никак не изменялась.
Решил проблему, вынеся тело цикла в отдельный метод MoveAllMovieClips с 2 входящими параметрами: MovieClip и счетчик.

Код:
private function ForCycle()
{
var thisClip:Array = new Array(); // массив мувиков
for(var i:Number = 1; i <= 3; i++)
{
MoveAllMovieClips(thisClip, i)
}
}
private function MoveAllMovieClips(thisClip, i)
{
var time:Number = 1;
_root["intervalId" + i] = setInterval(
function()
{
thisClip[i]._x += 2;
if(thisClip[i]._x >= 10)
{
clearInterval(_root["intervalId" + i]);
}
updateAfterEvent();
}
, time);
}
И без всяких prototype-ов обошлось!