If the state of the machine is solely determined by the shift register content, then this is plausible. However, in some efficient shift register implementations the registers cannot be reset to zero - the shift register macro does not have a reset pin. You must flush them with zeros.
So, some of this may be the result of hardware restrictions. I know I've run into this in Xilinx designs with pipelined data.