There are basically two different sorts of fisheye: circular and diagonal.
Circular fisheyes produce circular images (doh). The angle of view is 180 degrees.
Diagonal fisheyes produce rectangular images. The angle of view is 180 degrees across the diagonal, but obviously less in the horizontal and vertical dimensions.
For a crop-sensor camera like the 40D, I believe the Sigma 4.5mm is the only circular fisheye which will gve you an entire circular image. Other circular fisheyes, such as the Sigma 8mm and Peleng 8mm, will produce an entire circle on full-frame but a cropped circle on a cropped sensor.
If you want a diagonal fisheye, then the Sigma 10mm is pretty much the only one which will give you the full 180 degrees. Other lenses such as the Canon 15mm and Sigma 15mm will give you 180 degrees on full-frame, but on a 40D you'll just get a hint of fishiness - the image will be very wide, and distorted, but not 180 degrees.
I don't know exactly what the Tokina 10-17mm fisheye zoom does. I believe it only fits cropped sensors, and I suspect it might be 180 degrees across the diagnonal at 10mm and not quite that at 17mm.
You'll notice that I haven't answered your question about what's a
decent fisheye. There is very little choice indeed:
- for a full circle - Sigma 4.5mm
- for a cropped circle - Sigma 8mm or Peleng 8mm
- for a 180-degree diagonal - Sigma 10mm or (maybe) Tokina 10-17mm
- for a less-than-189-degree diagonal - Canon 15mm or Sigma 15mm (probably) Tokina 10-17mm