This because some of the paths have non-zero z values which you can see if you change the displayed decimal precision:

Also, we don't need to worry about the time to delete and recreate all paths. You can add two global tables "StraightPaths" and "CurvedPaths" and run this script:
Table.query("SELECT Name, Class, Container, StartLocation, EndLocation, PathClass, IsTwoWay, AccumulationType, AGVOrientation FROM Objects() WHERE Class='AGV::StraightPath'").cloneTo(Table("StraightPaths"));
Table.query("SELECT Name, Class, Container, Location, StartAngle,SweepAngle, Radius, PathClass, IsTwoWay, AccumulationType, AGVOrientation FROM Objects() WHERE Class='AGV::CurvedPath'").cloneTo(Table("CurvedPaths"));
Array paths=Table.query("SELECT ARRAY_AGG(Object) FROM Objects() WHERE Class='AGV::StraightPath' OR Class='AGV::CurvedPath'")[1][1];
while (paths.length)
paths.pop().destroy();
Table.query("INSERT INTO Objects() (Name, Class, Container, StartLocation, EndLocation, PathClass, IsTwoWay, AccumulationType, AGVOrientation) SELECT Name, Class, Container, StartLocation, EndLocation, PathClass, IsTwoWay, AccumulationType, AGVOrientation FROM StraightPaths");
Table.query("INSERT INTO Objects() (Name, Class, Container, Location, StartAngle,SweepAngle, Radius, PathClass, IsTwoWay, AccumulationType, AGVOrientation) SELECT Name, Class, Container, Location, StartAngle,SweepAngle, Radius, PathClass, IsTwoWay, AccumulationType, AGVOrientation FROM CurvedPaths");