This one is TOUGH!
However it is made a little easier as camera manufacturers seem to place their cameras slightly above or below their competition - so it's very easy to find a camera that's right for you at your budget
So for this have your say, there isn't one 'winner' in my opinion, there are lots of good cameras at varying budgets, and one that's right for you at yours. My list is in order of affordability, if I could afford it, I;d go with my first choice, if not second, third etc.
My first choice is the Nikon D300. It is completely amazing, and widely regarded as the best semi-professional camera on the market. It has 12MP, 51 point autofocus, VGA live view screen, excellent battery life, almost perfect ergnomics. The image quality is also slightly ahead of Canons 40D. If I could afford it I would go out and get this today!
My
second choice is tied between the
Sony A700 and the Canon 40D. The Sony has 12MP and many of the features the Nikon D300 has, image quality is also comparable. However in Nikons favour it has more features, and of course Nikkons lenses. In Sony's favour, it has Image Stablisation built in, which means you get IS for all lenses you use... without the high cost! It is tied with the Canon 40D because whilst the canon offers perhaps not as good image quality (but only slightly less) the Canon 40D is a Canon(!) so you have access to all it's lenses. It is also a bit cheaper. So imo they tie, because I feel those are the main points that would get you to swing one way or the other. They are both excellent cameras though and it would probably boil down to handling them.
My Third choice is the Nikon D80! If you are at the lower end of the mid range budget, the D80 is a very capable camera, and I have seen some stunning photos taken with it.
Anyway, that's just my opinion!