There's no elephant here, Windows is not different from Unix or other POSIX-compatible systems when it handles simple libraries or shared libraries (DLLs). Not all POSIX systems support shared libraries, but in that case, it is only the possibility of created **non-shared** libraries that can produce unspecified behavior, because **non-shared** libaries are unordered collections of units (the order is unpredictable), so they cannot contain multiple distinct units defining the same exported symbol.
This problem does not occur with shared libaries/DLLs whose internal dependencies are fully resolved and the rest of their unresolved symbols (that are not part of the list of their own exported symbols) is restricted to be a set of unique identifiers: the order or resolution is fully specified with shared libraries.