Does this piece of code follow the required timing constraints?
This isn't an EEPROM, display or accelerometer which you have to initialize with a sequence of specific steps before it will work; You are misinterpreting the timing requirements as some kind of initialization sequence. This is somewhat understandable, given the quality of the datasheet.  

To get a better picture, take a look at the datasheet of the actual stepper driver IC used. 

In summary, the TB6560AHQ is a step/direction interface stepper driver. 
To move one microstep in one direction, you drive the clock line high and back low. The driver simply counts the amount of pulses you send and increments the commutation phase one microstep with each rising edge of the step (clock) signal. To reverse the direction you simply switch the state of the direction signal. The driver does no motor speed/acceleration ramps by itself, so you will have to do them in software.  

To actually initialize the driver, you just wait a bit and then pull /reset and /enable high and keep them high. 


  Turn on VDD. Then, when the VDD voltage has stabilized, turn on VMA/B.
  Hold the control input pins Low while turning on VDD and VMA/B.
  (All the control input pins are internally pulled down.)
  After VDD and VMA/B completely stabilizes at the rated voltages, the  RESET and ENABLE pins can be 
  set High. If this sequence is not properly followed, the IC may not operate correctly, or the IC and the 
  peripheral parts may be damaged  


If you do release the enable line the driver will just de-energize the motor and you will lose steps.