To make it sort-of-bulletproof you can write all of the design time ubounds into variables when form loads and use those variables when loading/unloading controls:
Code:
Option Explicit
Private Type RunTimeLBound
RunTimeLBound_Label As Integer
RunTimeLBound_Picture As Integer
End Type
Dim myLBounds As RunTimeLBound
Private Sub Form_Load()
Dim i As Integer
myLBounds.RunTimeLBound_Label = Label1.UBound + 1
myLBounds.RunTimeLBound_Picture = Picture1.UBound + 1
Load Picture1(myLBounds.RunTimeLBound_Picture)
For i = myLBounds.RunTimeLBound_Label To 10
Load Label1(i)
Next i
End Sub
Private Sub Form_Unload()
Dim i As Integer
For i = myLBounds.RunTimeLBound_Label To Label1.UBound
Unload Label1(i)
Next i
For i = myLBounds.RunTimeLBound_Picture To Picture1.UBound
Unload Picture1(i)
Next i
End Sub