I'm not sure exactly what the problem is -- the Visual Studio dataset information muddies the issue up a bit.
Is the problem that the tables are being created with different owners? This would be the only way you could have two objects in a database with the same name. Truthfully, the other way would be to have a case-sensitive database and have two object names, differing in case.
But you can end up with objects having different ownership if they were originally created with no owner, and inherited implicit ownership from SQL Server. If this is the case, when the table is recreated, the ownership will once again be inherited from whatever user you had connected to the database as. I think that this could be the problem.