Holy cow, I wrote a book!
There are many settings that are ignored when set in a DLL.
There are plenty of others.
Commenter 640k asks
why these settings even exist for DLLs if they has no effect.
Because they are settings for PE modules in general.
If there were separate file formats for EXEs and DLLs,
then there would have to be two different module loaders,
one for EXEs and one for DLLs.
This creates extra work for no particular benefit
satisfying some anal-retentive compulsion that nothing be wasted.
As far as I can tell,
all operating systems use a common file format
for both executables and libraries.
If it really bothers you, you can consider this flags as
Reserved for future use when applied to DLLs.