I found there's a mistake in the latest 3.6.2 build, where engine does not auto-fix the character position after the walk if it got to a non-walkable area, as it was supposed to do. I made a fix, and the fixed build will be available here:
https://cirrus-ci.com/task/4945115942223872
As for imprecise walk, mistakes by 1-2 pixels are likely because of the inaccurate walking logic in AGS, where it uses fixed-point math instead of a floating point. This was causing many kinds of glitches over the years, like characters walking in one place etc. Some of these were fixed in 3.6.1, but there still may be mistakes in final position by a pixel or so.
This was improved in AGS 4 where the character pathing is done using floating point math.
https://cirrus-ci.com/task/4945115942223872
As for imprecise walk, mistakes by 1-2 pixels are likely because of the inaccurate walking logic in AGS, where it uses fixed-point math instead of a floating point. This was causing many kinds of glitches over the years, like characters walking in one place etc. Some of these were fixed in 3.6.1, but there still may be mistakes in final position by a pixel or so.
This was improved in AGS 4 where the character pathing is done using floating point math.