Это из-за того, что программа восстановления находила начало файла, брала его длину и тупо переписывала соответствующее число байт с начала файла.
Такой алгоритм прекрасно восстанавливает нефрагментированные файлы, но бессилен восстановить участки фрагментированных файлов. Если на диске была файловая система FAT, то информация о расположении фрагментов файлов располагается в цепочках FAT, которые безвозвратно уничтожаются (обнуляются) при удалении файла. Теоретически восстановить фрагментированные файлы можно только ручным способом, но это слишком большой объем работы. В случае файловой системы NTFS вся информация о файле находится в записи FILE Record. Найдя эту запись можно восстановить даже дефрагментированный файл. Естественно, если не его место на записаны новые данные.
Осмелюсь предположить, что в Вашем случае файловая система была FAT, и Вы восстановили максимум возможного.