After taking a bit more careful look at your code, I'm wondering if they Type of BO your using is always the same. I.e. Is the BO being bound to always of type "myBusinessObject" (from your code)?
If this is the case, then I'd suggest two things:
1. Drop an instance of myBusinessObject onto the wizard and bind normally.
2. Rather than attempt to change the BO the objects are bound to, just copy the data from the one passed into the form into the one dropped on the form using CopyDataFrom() method. I'd do this during parent form loading event of the BO on the form, so you can control when the BO gets filled, vs. any combos.
'-- Other code the same...just in wizard code make changes...
''' <Summary>
''' Construct a new instance using data from tomyClass1...
''' </Summary>
Public Sub New(ByVal tomyClass1 As myClass1)
'-- DocumentBO is now initialized in InitializeComponent as it
' was dropped on the form at design time. Also all binding
' was handled at design time and is also setup there as well.
InitializeComponent()
'-- Save reference to BO in tomyClass1.
_sourceBO = tomyClass1.pmks_BO
End Sub
''' <Summary>
''' Field to hold BO passed in via tomyClass1 (property in actual code).
''' </Summary>
private _sourceBO As myBusinessObject
''' <Summary>
''' Handle parent form loading and copy data from source BO to local BO.
''' </Summary>
Private Sub DocumentBO_ParentFormLoading() Handles Me.DocumentBO.ParentFormLoading
Me.DocumentBO.CopyDataFrom(_sourceBO, BusinessCloneDataType.ClearAndFillFromCompleteTable)
End Sub