Ciao,premesso che la soluzione di gibra è molto interessante (non avrei mai pensato a una soluzione del genere...indice di poca conoscenza, da parte mia, di vb.net e programmazione a oggetti), ma in questi casi non è meglio sfruttare gli oggetti messi a disposizione dalla combo? In pratica io avrei fatto cosi:

codice:
    Private Sub PopolaComboClienti()
        Dim strSql As String = ""
        Dim strConn As String = ""
        Dim da As New OleDb.OleDbDataAdapter
        Dim dt As New DataTable
        Dim cmd As New Data.OleDb.OleDbCommand

        strSql = "SELECT nome_cognome, id_clienti FROM clienti;"
        Try            
            cmd.CommandText = strSql
            cmd.Connection = conn
            da.SelectCommand = cmd
            da.Fill(dt)
            ComboBox1.DataSource = dt
            ComboBox1.DisplayMember = "Autore"
            ComboBox1.ValueMember = "IdAutore"
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
            cmd.Dispose()
            cmd = Nothing
            da.Dispose()
            da = Nothing
        End Try
    End Sub

    Private Function GetID() As Int32
        Return ComboBox1.SelectedValue
    End Function

    Private Function GetValue(ByVal field As String) As String
        Return ComboBox1.SelectedItem(field)
    End Function