First of all, I have never used an MSD2282 drive before. From my point of view, it is a bit unconventional from what I am use to.
A couple of things that I have noticed reviewing the drive specs and the way you are driving it.
Use of a "fading" routine could be getting in trouble. It is a PWM signal to drive an LED and does not provide a signal with a know rate. What you need is a stream of pulses, for the sake of explanation say a 10KHz square wave (100usec pulse rate), either arduino based or better yet a square wave generator. This will give you a steady stream of pulses every 100 usec.
Depending on the micro step resolution you are using, if you take the 400 one, then to rotate the motor one full rev it will take 40msec. If your micro drive is set for other than 400 then you have to multiply this time by 2X, 4X....256X. The worst case will be at 256X with 10.24 sec to do a full rev, if my math is correct.
Personally I would not leave the other signals (DIR, Enable, etc) floating, the drive spec says you can, but my training says tie an input signal high or low. Secondly I would use the DIR signal to generate CW or CCW operation. For testing purpose you can do this manually, with an external switch or wire.
Hope this helps and as stated before I have never used this kind of drive so I maybe off base.