1. A machine vision inspection system comprising an imaging portion, a stage for holding one or more workpieces in a field of view (FOV) of the imaging portion, a control portion, a display, and a user interface, wherein the machine vision inspection system further comprises: a run mode configured such that it is operable to execute a previously-created part program using a run mode of execution; a learn mode configured such that it is operable to receive user input to control operations of the machine vision inspection system and record associated part program instructions corresponding to the controlled operations in order to create a part program, the learn mode including an editing user interface comprising an editable part program representation of part program instructions, the part program representation comprising instruction representations; and an editing portion configured such that it is operable to edit a part program, the editing portion comprising an editing execution portion operable to execute previously recorded part program instructions according to an edit mode of execution that is different than the run mode of execution, wherein: the learn mode is configured such that it is further operable to automatically record respective surrogate data which is associated with a respective set of recorded part program instructions, and at least some respective surrogate data comprises data which results from actual execution of controlled operations corresponding to the associated respective set of recorded part program instructions; and the edit mode of execution comprises a surrogate execution mode wherein during surrogate execution mode of part program instructions represented in the editable part program representation, for at least one set of part program instructions, if respective surrogate data has been previously recorded in association with that set of part program instructions, then at least some members of that set of part program instructions are not executed, such that their associated controlled operations are not actually executed, and the respective surrogate data is used in subsequent operation of the surrogate execution mode as a substitute for data that would otherwise result from their associated controlled operations which are not executed.