About the other approach (downloading the image first) URLDownloadToFile API is a good way to do it:
Code:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
(ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, _
ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function
Private Sub Form_Load()
DownloadFile "http://e2.cdn.qnsr.com/OzoDB/v/w/20174349/V1/RIA_300x250_MangoVids.jpg", "c:\pic.jpg"
Me.Picture1.Picture = LoadPicture("c:\pic.jpg")
Kill "C:\pic.jpg"
End Sub