I think it is very difficult to help you further without seeing any actual measurement. You would need to get data of the setpoint value, PID output and motor speed. Step responses to up and down. If you can get that data out of the microcontroller in a text file, that would be ok because I can plot that with matlab.
Easy way to simulate rapid load changes would be to connect a power resistor in series with the motor phases (two resistors in parallel, switch the other one on and off).