Per eseguire un'istruzione di INSERT non c'è bisogno di utilizzare un recordset, ti basta agire direttamente sulla connessione. Ed è l'esempio che ti ho fatto nel post precedente.
Ora cerco di spiegartelo meglio, col codice tuo:
codice:
Public connessione As New ADODB.Connection 
Public risultato As New ADODB.Recordset 


Private Sub aggiungere_Click() 

  Dim strSql As String

  percorso = "G:\Andrea\prove visual basic\prova.mdb" 
  connessione.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
             percorso & ";Persist Security Info=False" 

  strSql = "insert into prova(nome) values('" & valnome & "')"
  connessione.Execute strSql 


End Sub
curiosità:
a cosa ti serve questo pezzo di codice che utilizzi dopo l'insert?
codice:
  
Do Until risultato.EOF 
   nome.Text = risultato("nome") 
   cognome.Text = risultato("cognome") 
   risultato.MoveNext 
Loop