You should never miss with RRW if you set the road color first. It does not search with tolerance, so if you tell it the right road color it can only click that one.
RRW does update the roadcolor as it walks along, so I could understand if somehow if updated the color itself and picked the wrong color, even though this is unlikely since it searches a small area.
The best way to use the FindFallyRoadColor is like this...
during your script setup, call it once.
Code:
RoadColor:=FindFallyRoadColor;
Then when you walk around do it like this...
Code:
if not(FindMMColor(x,y,RoadColor)) then RoadColor:=FindFallyRoadColor;
RRW(blah,blah,RoadColor,blah);
if not(FindMMColor(x,y,RoadColor)) then RoadColor:=FindFallyRoadColor;
RRW(blah,blah,RoadColor,blah));
...
This way you if the roadcolor changes on you, you update it before every step.