@UserTrue ...И где тут копирование? Один и тот же список присвоили двум переменным. Объекты в js передаются по ссылке, а не по значению.
Бас разве не на C# написан? Даже если копировать список, потом восстановить старый список( установив в переменной, из которой удаляются объекты значение списка-дубликата) то и из дубликата будут удаляться значения.
Это нужно, чтобы каждый раз в цикле получать уникальное (следующие) значение из списка.
Вот так вот сделал костыль

Увы я не могу опубликовать реальный скрипт с данной ситуацией, но я попробую записать видео, чтобы было наглядна проблема. Возможно, если создателю баса все же мало этих данных, попробую создать аналогичные своему скрипту условия для демонстрации недоработки, но надеюсь нет, это не так просто и долго.