Какого вы хотите совета?
Неизвестно, как у вас физически пользователи будут отмечать кадры (останавливать воспроизведение или ловить кликами на лету) когда именно ролик будет проигрываться повторно.
Слишком расплывчато вопрос задаете.
При такой общей постановке вопроса могу такой вариант подсказать:
Например, создайте массив и заносите туда при клике мыши значения _currentframe по мере первого воспроизведения. Это будут ненужные. Типа:

Код AS1/AS2:
var unnecess:Array = new Array(); //массив номеров ненужных кадров
this.onMouseDown = function ()
{
unnecess.push(_currentframe);//добавляем номера ненужных по мере первого воспроизведения
};
При повторном воспроизведении должна работать функция, которая бы управляла роликом:

Код AS1/AS2:
this.stop();
var arrPosition:Number = 0; //текущее положение проверки массива ненужных кадров
this.onEnterFrame = function ()
{
if (_currentframe + 1 != unnecess[arrPosition])//если следующий за текущим кадром не является следующим игнорируемым
{
nextFrame(); //идем на след. кадр
}
else
{
gotoAndStop(_currentframe + 2); //если следующий за текущим является следующим игнорируемым, то перескакиваем через него
arrPosition++; //и увеличиваем на 1 позицию проверки по массиву ненужных
}
}
То есть не давать ролику проигрываться самостоятельно, а управлять переходами по кадрам с помощью функции.
Разумеется, это не готовый код, а в большей степени базвая логика. Работать просто так это не будет. Все остальное дописывается по обстоятельствам. Они вам виднее, поэтому можете взять за основу мой совет. Ключевой момент здесь - это не отбор ненужных, а сама функция управления воспроизведением.
Более "простого" способа в голову не приходит.