Actually MD5 is a cryptographic hash function, read http://en.wikipedia.org/wiki/MD5
One of its uses is to ensure the integrity of a file. To do so, the MD5 sum of each file is calculated and compared with an official list of hashes, for example provided by the Impulse servers.
MD5 hashes not matching means that the files have been modified.
Common reasons why files get modified without explicit user action:
- Virus or other malware infecting the executables, thus modifying them
- Broken harddisk. Check the S.M.A.R.T. status of the drive and do an extended self-test. See http://en.wikipedia.org/wiki/S.M.A.R.T.
- Broken RAM, the files get corrupted before they even get written to the HDD. Especially likely if your computer frequently crashes.
- Files can also get corrupted during transfer. Horribly broken routers or a malicious ISP can be the cause. Try downloading and patching using a different connection, e.g. at work or a at a friend's home. Note that in this case playing online will certainly be interesting.