Я задаюсь вопросом, каким образом один может попросить fasm вписать ненулевые значения в IMAGE_DIRECTORY_ENTRY_IAT? Просто если вписать туда даже полукорректные значения, то не нужна будет секция .idata - IAT можно будет хранить прямо в секции кода (и при этом секции кода не нужно будет присваивать атрибут "writable").
секция .idata и так не нужна. IAT можно хранить отдельно от всей директории импорта, которая м.б. discardable, ms линкер так для дров делает (или делал).