Code:
if not InternetWriteFile(hRemoteFile, @arrBuffer, iBuffWriteSize, iBuffSize) then
had to be

Code:
if not InternetWriteFile(hRemoteFile, Pointer(arrBuffer), iBuffWriteSize, iBuffSize) then