Dear John,
Your hunch about the point being on a tile boundary is indeed correct. The issue is in the ICE-HB.tdb (which contains the Track Data Base). It contains
TrackNode ( 1816
TrJunctionNode ( 0 21546 0 )
UiD ( -5584 14977 3019 0 -5583 14977 -1023.82 36.95 -77.917 0 1.71644 0 )
The 1st and 2nd number in the UiD are the tile X and Z values, and so are the 5th and 6th numbers. I have no idea why they are defined twice. But since they are inconstent, there is an issue. Changing the first number from -5584 to -5583 solves the issue in the paths.
Currently ORTS uses the second pair (so -5583) to determine the distance from junction to node in the path, and, for not particular reason that I am aware of, it uses the first number (so -5584) to cull the junctions (meaning that all junctions not on tile -5584 14977 in this case are neglected). Since the path node is on tile -5583 14977, and this junction node (appears to be) on -5584 14977, it is not taken into account. And this leads to a broken path.
Is this a bug in ORTS? Perhaps not. It certainly is a bug in the route.
Could ORTS be changed to forget about the first two numbers? Perhaps. But since I have no clue why they are there in the first place, that might be a bit dangerous. I will try to find some more details. But I am not sure I will succeed.
Best regards, Jeroen.