На вашем примере foreach - самый простой и быстрый способ.
Более быстрый способ - через конструктор копирования. Однако с вашим примером это не сработает. Вы не можете сказать это = новый ...
myList = new BindingList<int>(temp);
Edit: побочный комментарий, вы можете очистить Backup (), удалив создание массива и просто позвонив:
public void Backup()
{
this.temp = new BindingList<int>(this);
}