Because you have repeats set to 1 this timer will be called twice and the path will be played twice.
Code:
vizact.ontimer2(wait, 1, path[object[x]].play)
Rather than go through your loop 3 times just go through 2 times. The first loop plays the duck's path. The second loop will create a timer that expires twice, playing the ball's path twice, which I think is what you want