The sources of error in the chronograph itself are fairly simple:
1. Variation in the crystal clock frequency. That's something like 25 PPM per degree C, and is negligible.
2. Distance between the photocells. Most designs make this a negligible source of error.
3. Squareness of the photocell mounting. This is a fairly big issue. Because of this, it's hard to get the error in the effective spacing of the photocells down under plus or minus 1/8".
Beyond that, you have all the following errors to deal with:
1. Temperature of the barrel near the breech. If that isn't strictly controlled, it's a fairly major source of error.
2. Lighting conditions. If you're shooting on a sunny day and a cloud starts to obscure the sun, your readings will drop. The light is more diffuse, and this affects the squaring up of the electronic pulse generated as the bullet passes over the cells.
3. Extension rods. Putting those on will cause your readings to drop.
4. Microphonic components. If your muzzle is too close to the chronograph, some of the components act as poor quality microphones and mess up your measurement.
Personally, I do my chronographing on days when I can see the shadow of the tripod, and between mid-morning and mid-afternoon. Usually, I strap a thermocouple to my barrel and actively control barrel temperature, and I don't use the extension rods. My resulting chronograph speeds are very consistent, and, as nearly as I can tell, accurate.
I'm doing a little mod to my Shooting Chrony. I'm adding ultra bright LEDs just behind the photocells, and replacing the diffusers with retroreflective tape that will direct the LED light back down to the photocells. I think that will reduce the lighting condition dependence, and it will let me shoot indoors.