Нужно было решить аналогичную задачу, только в обратную сторону - уменьшение FPS, т.е. "сжатие таймлайна". Немного дописал код, может кому пригодится:

Код AS1/AS2:
fl.outputPanel.clear ();
// скрипт для автоформата таймлайна
// для случая когда fps изменяется, а динамику надо сохранить
myFile = fl.getDocumentDOM();
myTimeline = myFile.getTimeline();
var newFPS= prompt("new FPS:");
myNewRate = (newFPS==null) ? myFile.frameRate : parseInt(newFPS);
myOldRate = myFile.frameRate;
myCoeffRate = myNewRate/myOldRate;
var addCoef;
for (i = 0; i < myTimeline.layers.length; i++){
curLayer = myTimeline.layers[i];
myTimeline.setSelectedLayers(i);
for (j = 0; j < curLayer.frames.length; j++){
curFrame = curLayer.frames[j];
if(curFrame.duration==1) continue;
if(myCoeffRate > 1) {
addCoef = curFrame.startFrame==0 ? 1 : 0; // если первый кадр - то добавляем 1 иначе нет
addFr = Math.round(curFrame.duration * myCoeffRate - curFrame.duration) +addCoef;
myTimeline.insertFrames(addFr, false, j);
j += curFrame.duration - 1;
} else if(myCoeffRate<1) {
remFr = Math.round(curFrame.duration - curFrame.duration * myCoeffRate);
myTimeline.removeFrames(curFrame.startFrame, curFrame.startFrame+remFr);
j += curFrame.duration + 0;
}
}
}
if (myCoeffRate!=1) myFile.frameRate = myNewRate;