I have searched quite a lot on shift registers for a recent project, and a few things kept coming up that I can throw my ten cents worth in. ( O&OE T&Cs apply and everything IMHO )

There have been several queries about what a daisy chainis , see http://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Daisy_chain.JPG/800px-Daisy_chain.JPG for a photo of the original.

Many years ago before playstations etc, kids used to thread the stalk of one wild flower through a slot in the next and so on,This is like us sending our data through one shift register ( say a 595 ) which pushes the stream of data out the other end 8 bits later to the next chip.

In the otherwise excellent tutorial on Shiftout, one of the comments in the code says

// turn off the output so the pins don't light up // while you're shifting bits: digitalWrite(latchPin, LOW);

IMHO the output pins will not change until the latchpin goes high...You can fill all the registers and then flip the latchpin low then high and then the LEDs will change.

The 1mFD cap on the latchpin I think must have been leftover from an experiment to delay the latch if it is driven high at the same time as the shiftreg clock ( I know I experimented with the same idea when I had the wrong timing )The cap should not of course be there.

If you are trying to run long daisychains ( I have run 19 but not with the Arduino and also very slowly ) and want to push the speed limit, why not loop the last shiftregisters' output back to the micro, and compare the last byte sent previously with what comes back this time, if no bits are lost it should be the same...

There are a lot of posts about software dimming, I suppose they want different characters to dim, but for general dimming I have just used the /G blanking pin run from a pwm pin on the Arduino.

to delay the latch if it is driven high at the same time as the shiftreg clock

Yep the cap should not be there, it makes absolutely no sense to tie the latch and clock pins together unless you are desperately short of pins and don't mind having the data ripple through the SR outputs.

Quote

why not loop the last shiftregisters' output back to the micro, and compare the last byte sent previously with what comes back this time, if no bits are lost it should be the same...

If you have reason to believe there could be a fault in the chain that's a good idea. Not much point on a single PCB but if your SRs are on several modules connected by cables that's a good diagnostic tool.