Le modifiche sono in neretto
codice:
Private Sub Aggiorna()
if dir(App.Path & "\Fotografie\Dsc0" & i & ".jpg")><"" then
   Set Img.Picture = LoadPicture(App.Path & "\Fotografie\Dsc0" & i & ".jpg")
   Img.Left = Screen.Width / 2 - (Img.Width / 2)
   Img.Top = Screen.Height / 2 - (Img.Height / 2) - 800
   Img.ToolTipText = "Immagine " & i - 1047 & "; Dsc0" & i & ".jpg"
   lblfoto.Caption = "Foto " & i - diff & " / " & Num
end if
End Sub
Per quanto riguarda la seconda domanda, io farei una cosa molto semplice:
-Inserisci una img e la imposti su visible = false e strech = false.
-Carichi l'immagine che ti interessa qui dentro
-Verifichi la prop. img.width e img.height

Penso si possa fare anche via API, ma questa e' la prima cosa che mi e' saltata in mente.
Ciao.