Hi Keith,
All are good questions. Here is a the help page on Test Sets. It should answer some of your questions:
1. You can associate the same Test Case to multiple Test Sets. Yet, as you pointed out, the "Last Verdict" belongs to the test case and will therefore reflect in all test sets. The idea here is that the actual exact test case instance is shared among test sets. You should use it this way only when you intend to run the same Test Case between the test sets. If you only intend to run similar instances but not exactly same then you shall make copies of your test cases in the different test sets, so that each test set has its own instance (copy) of the test case.
2. You can copy a Test Set between iterations/sprints. Keep in mind these are copies, it's not sharing the same test set. You can create a copy, then adjust it for you next iteration/sprint as you need.
3. Assignment of Test Cases to the Test Set is only done from the Test Set. On the individual Test Case you have a read-only Test Sets tab that will simply show you the test sets which the test case belongs to.
Let us know if that helped.
Thanks,
Sagi