Queste due righe

HINSTANCE LibHnd = LoadLibrary("Urlmon.dll");
URLDownloadToFileA URLDownloadToFile = (URLDownloadToFileA) GetProcAddress(LibHnd,"URLDownloadToFileA");

devono essere eseguite UNA sola volta, fuori dal ciclo while ...