AOTDuplicate() returns another TreeNode instance and you can get the new name by treeNodeName() - it will be CopyOf*. Then you have to either convert the name to table ID (tableName2Id()) or to create the instance by SysDictTable::newName().
May I ask what problem are you trying to solve by duplicating tables at runtime?
My requirement is copy the selected records from a form grid and save into a StoringTable . Here I need to create the table(StoringTable ) dynamically and this table structure same as form grid datasource table structure. For this I am trying to duplicate the grid datasource table. Please let me know is there any way with out duplicating the table. And my Ax version is R2 CU6.