I am thinking about having additional fields in the RESUME and ACCEPT CTCPs.

So, for example rather than "/ctcp server-nick DCC RESUME filename port position" a mIRC version supporting MD5 would send "/ctcp server-nick DCC RESUME filename port position-x md5-of-first-x-bytes".

If the mIRC receiving this didn't support MD5 it would ignore the additional field and send the existing "/ctcp client-nick DCC ACCEPT filename port position".

If the mIRC receiving the RESUME did support MD5 it would check that the MD5 matched and if so send "/ctcp client-nick DCC ACCEPT filename port position md5-of-first-x-bytes". If the MD5 didn't match it would instead send "/ctcp client-nick ACCEPT filename port 0".

I believe that this would be backwards compatible, though you are much better positioned to judge whether this is the case.