bezumes
Обратите внимание на неправильный инкремент (лишний "+"):
Код:

if (hFirstFile != INVALID_HANDLE_VALUE)
{
do
{
nFilesCount +=1+nFilesCount; // и вообще почему не поставить просто nFilesCount++
}
while (FindNextFile(hFirstFile, &wfd));
}
И по маскам: я так понял, что у вас hFirstFile для файлов, а hFirstFile1 для каталогов. Каталоги(папки) тоже могут иметь расширение, так и файлы могут быть без расширения.
Попробуйте сделать одну маску "*.*" и уже потом по атрибутам разделять каталоги и файлы.
Или задача другая: "подсчитать количество отдельно с расширением и без расширения"?
PS для красоты и уменьшения кода я бы посоветовал букву диска
формировать.
PPS Только что обратил внимание: вам нужно подсчитать каталоги и папки
только в корне диска?