Related to this question, I found a program, JOCR that has good results. It turns out it just uses Microsoft Office Document Imaging to do the OCR for it using COM. That works for me - I can spend some time trying to get it to work from Python (where I need it).
My questions are: what OCR algorithm do they use? Is it possible to get it (or one like it - tesseract and ocropus seem to only work with scanned images or pictures, but MODI OCR works great with on-screen text) elsewhere? Is it possible to install it on a computer without installing all of Office 2003?