PID motor controller using simulink semantic errors when changing reference values
Well... there are a number of concerning points in this model before looking at what is possibly the main query

1) The H-bridge block as the REV pin tied to the inverse of the demand. Is this really needed? what is the "reverse threshold" in the block options. This appears to be a way to disable something but not in the correct method. 

2) You are Abs the demand (ok)  but you are also Abs the feedback. This is a potential source of problems as now control loop is unable to respond to negative feedback. IF there is not meant to be any negative feedback, other aspects should stop this.

3) You have a PID controller block and then an output saturation block. The PID block comes with an "Output saturation" option as well as integrator anti-windup capability. Without knowing what you are doing here or the relevant settings, how this block is interacting with other blocks could be a source of your odd responses

As to algebraic loop. This occur when the output depends on the input without any means to initialize. If the model is running in discrete mode, put a "memory block" in the feedback (before Gain2). If the model is running in continuous mode, put a continuous transfer function \$ \frac{1}{\tau s + 1} \$ where \$ \tau \$ is say 100x time the frequency you are controlling to.