I'm going to contribute to this discussion about the cutoff point because I actually did my own research on this particular one on the US version.
I have a different argument, because I found the internal race counter variable (7E001Cxx), and discovered that the race counter wraps around to zero after 64 races because 7E001Cxx is ANDed by $3F. Thus, there is a definitive wraparound point.
I extracted the raw track ID array from the US version of the game at $008216:
04 06 02 01 8A 86 82 80 05 01 03 00 84 07 05 8B
87 0A 03 8C 08 02 09 0B 00 0E 0C 86 0D 87 81 88
09 0F 83 0E 04 0A 0B 0F 85 80 08 0D 07 0C 8E 06
08 82 8F 8B 84 81 8D 83 88 8A 85 00 8E 8D 8C 8F
If the value has been ORed by $80, the course is driven in the opposite direction.
I have indicated where all of the tracks by ID and their opposite direction variants debut below:
$00 - Blaster (debuts in the twelfth race, opposite direction variant debuts in the eighth race)
$01 - Big Dukes (debuts in the fourth race, opposite direction variant debuts in the 31st race)
$02 - Sidewinder (debuts in the third race, opposite direction variant debuts in the seventh race)
$03 - Cliff Hanger (debuts in the eleventh race, opposite direction variant debuts in the 35th race)
$04 - Fandango (debuts in the first race, opposite direction variant debuts in the thirteenth race)
$05 - Hurricane Gulch (debuts in the ninth race, opposite direction variant debuts in the 41st race)
$06 - Huevos Grande (debuts in the second race, opposite direction variant debuts in the sixth race)
$07 - Wipeout (debuts in the fourteenth race, opposite direction variant debuts in the seventeenth race)
$08 - Cuttoff Pass (debuts in the 21st race, opposite direction variant debuts in the 32nd race)
$09 - Boulder Hill (debuts in the 23rd race, opposite direction variant is never used)
$0A - Redoubt-about (debuts in the eighteenth race, opposite direction variant debuts in the fifth race)
$0B - Rio Trio (debuts in the 24th race, opposite direction variant debuts in the sixteenth race)
$0C - Leapin' Lizards (debuts in the 27th race, opposite direction variant debuts in the twentieth race)
$0D - Shortcut (debuts in the 29th race, opposite direction variant debuts in the 55th race)
$0E - Pig Bog (debuts in the 26th race, opposite direction variant debuts in the 47th race)
$0F - Volcano Valley (debuts in the 34th race, opposite direction variant debuts in the 51st race)
In addition to these, there are course hazards in the form of bales of hay that sometimes show up. When they show up is also done through the race counter (7E001Cxx). Specifically, they show up on the third, sixth, tenth, twelfth, fifteenth, seventeenth, nineteenth, 24th, 27th, 31st, 33rd, 36th-38th, 40th, 42nd, 44th, 45th, 48th-50th, 52nd, 53rd, 55th-61st, 63rd and 64th races. The bales of hay being present means that it can affect the racing somewhat, and technically these configurations add a variant to each of the courses in addition to driving them in two different directions. The bales of hay to my knowledge are also not randomly generated: instead I found when (and possibly where) these would be generated via a pointer array at $00C984 (if it points to $CA04, no bales of hay would be generated for the course).
The way you'll know when you've wrapped around is when Fandango is the next course you drive on after having driven Volcano Valley in the opposite direction with bales of hay (
This longplay video reaches the wraparound point at 1:10:13, if you want to see what I mean). Volcano Valley itself is driven four times, twice in each direction, and twice with bales of hay.