One drawback of expansion boards on any type of cable is that there is no data return. Therefore, there is really no data checking. If the output of the shift register were fed back to the Mega328, then the signal integrity of the cable could be verified. That way, the controller would instantly know that something failed in the cable or expansion board. This would eliminate zones being left on or failing to turn on due to equipment fails in the either the cabling, the logic power, or the shift register. Sure, the traics can still fail, but at least you would know that the correct data got to it remote location.