A Capytalk expression is evaluated each time any of its EventValues changes. In this expression, there's a circularity, because the expression is generating one of its own EventValue arguments, !Position.x.
randomWalkStartingFrom: !Position.x doNotTrigger
Having the doNotTrigger after !Position.x prevents the expression from being re-evaluated each time it changes !Position.x.