Have you tried the .CopyToDataTable() method? It wouldn't be typed, but you could cast it to the Typed DataTable and I'm pretty sure it would work (haven't tested it though).
ds2.Customer = (MyDataSet.CustomerDataTable)ds1.Customer.Select("firstname = 'Bob'").CopyToDataTable();
~~Bonnie