It looks like this is ONLY happening on DevExpress grids version 9.x and greater. So something apparently changed. Instead of getting in contact with DevExpress, etc. we went ahead and made a code change in the event that another 3rd party control references an IBindingList implementation during disposal.
Ultimately this is a simple fix, but the reason for all of the confusion was due to different versions of a 3rd party control acting different ways. The next minor release posted will include this fix, but you can go ahead and change the source if you like temporarily. You WILL NOT have to maintain this source as it has already been changed. But the issue is that the _BusinessObject has already been disposed, thus when the grid implicitly attempts to dispose of the data source, an error occurs. Here is the code as it should be to resolve the error:
BusinessBindingSource, RemoveBOHandlers()
'''
''' Removes the necessary event handlers from the business object.
'''
'''
Private Sub RemoveBOHandlers()
'-- Make sure that the BO has a reference
If _BusinessObject Is Nothing Then Return
Try
'-- Remove the necessary handlers
RemoveHandler Me._BusinessObject.AfterAddNew, AddressOf BusinessObject_InternalAfterAddNew
RemoveHandler Me._BusinessObject.BeforeAddNew, AddressOf BusinessObject_InternalBeforeAddNew
RemoveHandler Me._BusinessObject.InternalAfterAddNew, AddressOf BusinessObject_InternalAfterAddNew
RemoveHandler Me._BusinessObject.CurrentDataTableRefilled, AddressOf BusinessObject_CurrentDataTableRefilled
RemoveHandler Me._BusinessObject.CurrentView.ListChanged, AddressOf BusinessObject_CurrentView_ListChanged
RemoveHandler Me._BusinessObject.Navigated, AddressOf BusinessObject_Navigated
RemoveHandler Me._BusinessObject.IsDirtyChanged, AddressOf BusinessObject_IsDirtyChanged
Catch ex As Exception
End Try
End Sub