1. зависит от файловой системы.
2. 0 байт вам показывает кто? Не каждая программа ковыряет на таком уровне, чтобы учитывать размер всего, где лежит информация про файл и про папку. Попробуйте другие программы. В Линуксе стандартный ls сразу будет показываьт, что папка занимает как минимум 1 блок (сейчас это обычно 4 кб).
3. Для файлов - тоже самое, если у вас есть файл в 5 байт, у него где-то есть название, аттрибуты доступа, сектор в котором он лежит, но ваша программа это не показывает.
Вывод, пустая папка весит не 0 байт, но подобная информация не для пользователя, а для администратора, который учитывает занятое место специальными программами, с учетом понимания как устроена файловая система.