MySQL usa um formato de data diferente (aaaa/mm/dd) exatamente ao contrário do que nós usanos no Brasil. Tuas querys ficariam assim:
Set RS = Cnn.Execute("insert into gmb (" & data & ") value (" & format(cdate(txtdata), "yyyy/mm/dd") & ")")
já tentei usar assim
Set RS = Cnn.Execute("insert into gmb (" & StrTB & ") value ('" & format(cdate(StrDT), "yyyy/mm/dd") & "')")
E outra coisa, não é necessário setar um RecordSet para querys que não retornam nenhum RecordSet (como essas querys de inserção). Ao invés disso use simplesmente Cnn.Execute "query"