MD5 collisions are imminent, within seconds one can file two collisions, see corkami. Therefore adding MD5 hashes to countermeasure against collision doesn't produce much effort for the attacker. Due to the MD design, a collision can be used to produce many pairs very easily.
What the attacker is need produce $2^{128}$ MD5 collision pairs and check that they are colliding or not with the SHA-256. This is due to the probabilistic birthday-attack and the attacker has a 50% chance to find a colliding pair.
$$(2^{128})^2/2^{256}/2 = 2^{256 - 256-1} = 1/2$$
Reaching $2^{128}$ is not easy if you consider that the collective power of the bitcoin miners can reach around $2^{92}$ double SHA-256 hashes. They need around $2^{34}$ years to find one.
In the attacker's since the 50% is high, they can, for example, look in 112-bit with success probability;
$$(2^{112})^2/2^{256}/2 = 2^{224 - 256-1} = 1/2^{33},$$ and of cource the lower search double lower chance they will get. This is still beyond for all.
This is not your concern, by reading that you compare files one local and remote to compare, since we don't expect that both files are under the control of an attacker, they need to find second-preimages that is given a message $m$ and its hash value $h = hash(m)$, find another message $m' \neq m$ such that $h = hash(m')$. The generic cost of finding one has cost $2^{128}$ for MD5 and $2^{256}$ for SHA-256. That is beyond of all.
The collision is important for signatures that you can prepare two colliding messages for your own and in this way you can win!. $H(m) = H(m')$ implies $sign(m) = sign(m')$, since we sign the hash of the messages and this is necessary for the security of the signatures since Rabin defined (1979) hashing messages in their signature scheme and it is still secure against existential unforgeability under chosen-message attack (EUF-CMA).
If you are an evil developer then it is a concern for us, not for you. You will look for collision pairs good and evil (CD ISOs) and one non-colliding bad to foil everybody. See in detail in this answer.
Conclusion: Whether collision or secondary-pre-images one doesn't need MD5. Just use a hash function that has at least 256-bit output like SHA-256, BLAKE2b, and SHA3-256.
In theory, finding a collision is always possibe but not practically.