Mike Bostock pointed out that the error occurred because my topojson collection was referring to an arc that didn't exist because it started counting the arcs at 1 instead of 0. The problem occurred in this part of my vorToPoly code:
topoArcs.push([[Math.floor(vorPolys[x][y][0]),Math.floor(vorPolys[x][y][1])],[Math.floor(vorPolys[x][nextVal][0]),Math.floor(vorPolys[x][nextVal][1])]]);
arcHash[hashVal] = topoArcs.length;
It should have been flipped:
arcHash[hashVal] = topoArcs.length;
topoArcs.push([[Math.floor(vorPolys[x][y][0]),Math.floor(vorPolys[x][y][1])],[Math.floor(vorPolys[x][nextVal][0]),Math.floor(vorPolys[x][nextVal][1])]]);
That way the hash is starting at 0 instead of 1. Flipping this makes everything work just fine.