Thanks. I believe I've found the solution . . . see my reply to Sergey if you're interested.
>Hello,
>
>i've found this info in the microsoft.public.winhttp newsgroup:
>
>"Some suggestions for workarounds for the problem in wininet: if you can do
>without persistent connections, then disable keep-alive (by setting a
>"Connection: Close" request header). Or, after you close the session handle
>(the handle created by InternetOpen), call InternetSetOption(NULL,
>INTERNET_OPTION_END_BROWSER_SESSION, NULL, 0) -- hopefully this can be done
>before calling FreeLibrary on your DLL. Setting this option after closing
>all your wininet handles will cause wininet to discard its socket cache.
>"
>
>WinInit caches it's socket connections .. and the cleanup routine seems to not work correctly ..
>
>Regards
>Christian