Tente assim:
Dim rst_produto As ADODB.Recordset
Set rst_produto = New ADODB.Recordset
Dim lv As ListItem
Set rst_produto = bd.Execute("Select * From Tab_produto where data Between #" & CDate(Format(txt_dataini, "DD/MM/YYYY")) & " #And #" & CDate(Format(txt_datafim, "DD/MM/YYYY"))& "#")
rst_produto.MoveMin
Do Until rst_produto.EOF
If rst_produto!Data = txt_data And rst_produto!Data = txt_data2 Then
Set lv = lista.ListItems.Add(, , rst_produto!Id_produto)
lv.SubItems(1) = rst_produto!produto
lv.SubItems(2) = rst_produto!descricao
lv.SubItems(3) = rst_produto!valor
lv.SubItems(4) = rst_produto!data
End If
rst_produto.MoveNext
Loop
Set rst_produto = Nothing