My error. Minty is right.
I missed the problem in your first post because I only looked at the server table.
Set td = CurrentDb.CreateTableDef("dbo.tblDum1", dbAttachSavePWD, "dbo.tblDum1", stConnect)
SQL Server has schemas, which are internal containers for tables. Each database has one or more schemas. The default schema is dbo, but you can create others.
Access has no concept of schema, so when it encounters a SQL Server table with the dbo.XXXXX format, indicating table XXXXX in schema dbo, Access changes that from the . to the _ in the name.
Set td = CurrentDb.CreateTableDef("dbo_tblDum1", dbAttachSavePWD, "dbo.tblDum1", stConnect)
Or if you prefer, omit the schema
Set td = CurrentDb.CreateTableDef("tblDum1", dbAttachSavePWD, "dbo.tblDum1", stConnect)