smurf: Detect and override inconsistent SCANDIR

Some historical data indicates a SCANDIR that differs from the actual positions array values.
This is now being detected and corrected where necessary.