 MS LINKers from version 5.12 support Delay Load Import (see MSDN and MSJ).
Unfortunately all current LINK versions (5.12, 6.00) do not support delay
load import binding, even if you haven't specified linker switch
/delayload:nobind. Perhaps future version of link.exe or bind.exe will
support DLI binding.
 BindDLI tries to (re) bind DLI. Then DL APIs will not need to go thru DL
support routine (DelayLoadHelper in delayimp.lib) but they go directly to
their targets (fast). This applies to both 9x and NT. Bound are modules
with nonzero Bound Import Name Table (check it with LINK -DUMP -IMPORTS)
 BindDLI contains no error catching, supports only 32bit modules and wasn't
carefully tested. 

Q: I've applied BindDLI to link.exe (version 6.00) but link.exe hasn't
   changed. I've applied BindDLI to link.exe (version 5.12) and link.exe
   was changed, but only for 1 DL dll. I've applied BindDLI to cl.exe (6.00)
   and cl.exe was changed.
A: link.exe 6.00 has DLI but no Bound Import Name Table. 5.12 has two
   DL dlls: msdis109.dll and imagehlp.dll. BindDLI hasn't found msdis109.dll
   but found imagehlp.dll -> only imagehlp.dll was bound). cl.exe has 1 DL
   dll version.dll. It was found and cl.exe was updated.