Major issues seem to be fixed with the latest changes.
To summarize:
The order between laser firing and motor starting movement has been switched
The motor movement monitoring is now more reliable, using the motor position until the motor is within a few steps, and then using the motor speed for the rest of the way
The CIB motor positions are updated now every time a movement is requested, even for motors that won't be moving.
Major issues seem to be fixed with the latest changes. To summarize: