While I agree that parsing and rewriting HTML is probably the right approach, for the sake of completeness I thought I'd mention that Apache has a mod_speling (sic) module that can make the server map URLs to filenames in a case-insensitive way. Obviously not an ideal solution (if nothing else, it's likely to dramatically increase server load)... but may be useful as a stopgap or to catch any links that fall through the cracks of your fix-'em-up routine. More info here:
http://httpd.apache.org/docs/urlmapping.html
Good luck!