Ok, I've found the solution. The property is read-only so you have to delete the original linked table and recreate with the new worksheet name.
Here's the code in case anyone else has the same problem:
Sub RecreateLink(sCurrName As String, sSheetName As String)
Dim tdfNew As TableDef...