In order to run the code, I changed the model to the piazza. However, I didn't notice a coordinate offset from one trial to another. If you have viewpoint collision enabled and depending on the stepsize, the viewpoint can get bumped up on collisions with the scene. If you want to wait until the path is finished playing before doing something else, wait for a path end event:
	Code:
	import viz															
import viztask													
viz.go()
startPos = [-6.4,1.4,-8]
view = viz.MainView 
view.eyeheight(1.4)
maze1 = viz.add('piazza.osgb')
pathMaze1 = viz.addAnimationPath()
pathMaze1.addControlPoint(2, pos=startPos,euler=(0,0,0),scale=(2,2,2))
pathMaze1.addControlPoint(4, pos=startPos,euler=(90,0,0),scale=(2,2,2))
pathMaze1.addControlPoint(6, pos=(0,1.4,-8),euler=(0,0,0),scale=(2,2,2))
pathMaze1.addControlPoint(8, pos=(0,1.4,5),euler=(0,0,0),scale=(2,2,2))
pathMaze1.addEventAtEnd('maze_end')
link = viz.link(pathMaze1,view)
def trials():
	
	for x in range(4):
		
		print 'trial',x
		pathMaze1.play()
		yield viztask.waitPathEvent(pathMaze1, 'maze_end')
		yield viztask.waitKeyDown([viz.KEY_LEFT,viz.KEY_RIGHT])
		pathMaze1.reset()
	
viztask.schedule( trials() )