Делай в процедуре 2 цикла
в первом поиск файлов по маске
во втором поиск и рекурсия по всем подкаталогам с общей маской.
Кстати у тебя неправильный вход в рекурсию - где "\" ?
В самом начале процедуры добавь
Код:
Dir := IncludeTrailingPathDelimiter(Dir);