Try to clear DataSource of cmbType before Clearing Items.
Private Sub cmbDevice_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmbDevice.SelectedIndexChanged
Dim StrQ As String = "Select [Model] from " & cmbDevice.Text & " Group By [Model] "
Dim da As New SqlDataAdapter(StrQ, con)
If cmbDevice.Text = "*" Then
cmdType.Text = ""
Else
da.Fill(ds, cmbDevice.Text)
cmdType.DataSource = ""
cmdType.Items.Clear()
With Me.cmdType
.DataSource = ds.Tables(cmbDevice.Text)
.DisplayMember = "Model"
.SelectedIndex = 0
End With
End If