You need to wire the shift register wires through all of the case structures.
You have your tunnels set to "Use Default if Unwired". So if you have a case executing where there is no wire, the default value of zero comes out of the tunnel.
What is bad is that the default setting of a new tunnel is that Use Default if Unwired is unchecked. So you actually went and changed the behavior of the tunnels intentionally.