I have a hard time getting a sharp image with my new 7D. None of the Sigma lenses I'd used with my old Canons work (looks like I need a major eye exam, even on auto-focus!) and I was told by my local Canon dealer that only the new Canon lenses are compatible. I've rented some Canon lenses, and the images are good, but I wouldn't call them razor sharp. Looks like I'm going to need new lenses. Does anyone have recommendations? For a start I'm looking for a wide angle zoom (12-24 range) and a general zoom (24-200 range).
Any Canon EF lens is compatible, they have been made for many years now. The really old FD, and FL lenses are not compatible, and will not even mount to your camera. Older sigma EOS compatible lenses may be incompatible electronically with Digital SLR's, so watch out with used Sigma lenses, try them if in doubt.
The high resolution of the camera body means that to get sharp images when you view them 1:1, the AF must be near perfect. The camera has a facility called Autofocus micro adjustment, and I do it on all my lenses. On the 7d, it makes a huge difference to just tweak the setting by 2 points.
There are lots of writeups on how to do this, here is my favorite for adjusting your body to your lens.http://regex.info/blog/photo-tech/focus-chart
You have two options, one is to adjust the body for all lenses, the second is to adjust it for each lens.
I always adjust it for each lens. for zooms, I use the longest focal length. Always adjust at maximum aperture.
The second thing is to realize that the tiny pixels in a 18 mp sensor are more susceptable to shaking motion of the camera, so if you do not have IS, or have it tripod mounted, keep the shutter speed to 1/triple the actual focal length as a mimimum. Conventional wisdom is to use 1/equavalent focal length.
So, for a 100mm lens and no IS, use 1/320. Conventional wisdom would say 1/160 sec, and that works well on the lower MP cameras. You can experiment to find what works for you.
If your subject is moving, much higher shutter speeds may be required to freeze action.