MD5 é um hash. Basicamente, mapeia todo o conteúdo de um arquivo em uma pequena sequência com IIRC de 16 bytes.
Obviamente, haverá vários arquivos com hash na mesma soma MD5. Portanto, uma soma MD5 correspondente não é garantia de uma correspondência exata entre arquivos.
Não existe um limite como tal, porque o modo como os hashes funcionam. Portanto, uma soma MD5 pode detectar até uma única alteração de bit. No entanto, muitas alterações de bit único juntas podem fazer com que o hash MD5 seja o mesmo. Portanto, é bastante razoável usar o MD5 para validar a integridade do arquivo contra corrupção aleatória, mas não se a intenção maliciosa for possível, pois alguém poderá modificar um arquivo enquanto garante que o hash do MD5 seja o mesmo.