Stepper motor CNC shield accelstepper.h

Sorry, I do not know what that means. Can you clarify the difference in what is happening versus what you want?

If you want the stepper to move 50 steps, stop for 250ms, pause 80ms every 4 steps and keep repeating that for ever just do this:

#include <AccelStepper.h>

const byte enablePin = 8;

AccelStepper x_stepper(AccelStepper::DRIVER, 2, 5);

void setup()
{
   Serial.begin(115200);
   pinMode(enablePin, OUTPUT);
   digitalWrite(enablePin, LOW);
   x_stepper.setAcceleration(2000);
   x_stepper.setMaxSpeed(200);
   x_stepper.setSpeed(200);
   x_stepper.setCurrentPosition(0);
}

void loop()
{
   static byte index = 0;  // variable to count moves
   if (x_stepper.run() == 0)
   {
      delay(250);     
      x_stepper.move(50); // move 50 steps relative to last postition
      x_stepper.setMaxSpeed(200);
      index ++;
      // extra delay every 4 steps and reset index
      if(index >= 4)
      {
         index = 0;
         delay(80); 
      }
   }
}