Имеется небольшая проблема с модулем md5.
Для некоторых файлов вычислется одинаковый хэш - d41d8cd98f00b204e9800998ecf8427e. ВинХекс для этих же файлов вычисляет разные хэши.
По-моему md5file некорректно работает с файлами лежащими в каталогах имена которых то ли очень длинные, то ли содержат пробел, то ли русские буквы. Советую перенести эти файлы в каталог с простым именем (типа C:\blabla\) и повторить.
Ведь пробегал такой баг когда-то довольно давно. Теперь уже подробностей вспомнить не могу. Ощущение такое, что это связано не с самой md5, а с чтением файлов посредством BlockRead. Рекомендую попробовать с более современной версией FPC.