The only thing that makes a hashing function "useful" is how low the chances two different inputs will produce the same result. For MD5, it's 1 in 340282366920938463463374607431768211456. For SHA1 it's 1 in 1461501637330902918203684832716283019655932542976. For SHA 256 it's 1 in 115792089237316195423570985008687907853269984665640564039457584007913129639936
If you're using a hash function to verify the integrity of a file, then hashing is 100% reliable. Whether or not you'll find a problem depends on your record keeping.