Check that your motor coil wires aren't crossed. If you swap one of the coil A wires for a coil B wire, you can get one-directional rotation and weakness.
See also: Stepper motor only goes one direction
Also:
How strong is your 9V power supply? An inadequate supply relative to your stepper could give strange results.
