Это единственное, что можно придумать для осевого кулера. Довольно неэффективно и лучше, чтобы радиатор рос в высоту (принцип противотока) — но что остаётся, если центробежного нет?
Издержки и так незначительны.
Можно ещё их уменьшить, убрав hasFoo — но тогда при уничтожении без init мы нарвёмся на уничтожение несозданного объекта.
Нет, он просто в простейших случаях может «подобрать» DLL вместо *.a, и это его особенность, относительно недавно написанная. Когда я начинал, я повторял этот самый путь — построить DEF, из него *.a.
Как в Linux, не знаю.
Когда я в 2011 из-за проблем с производительностью начал переводить плагин на смесь Embarcadero/MinGW, тогда ещё MinGW нужны были библиотеки импорта. Дописали относительно недавно.