Сам решил проблему. Объект bounce был создан в IB и поставлен на начальное положение, в то время как барьеры и всё прочее создавалось программно. В итоге, при создании и помещении нового барьера , я обращался к UIViewController, а значит и к начальному положению bounce. Поэтому, при использовании таймера, шар возвращался в начальное положение.
Всё стало работать как надо, после того, как я удалил bounce из IB и создал его кодом.