Exporting array of tabs to new workbooks, save them based on tab name
I do have a few suggestions:


First of all, you don't need to reactivate your main
workbook every loop, since you hold it's reference in a variable
anyway.
Second, instead of creating new workbook and copying the sheet over, just make a copy to new workbook (i.e. wks.Copy creates copy in new workbook, you can then assign it to a variable since, as you said yourself, it is now the active workbook)
Lastly, unless you want to remove the references (for example if the links contain sensitive information), then I wouldn't worry about it. Excel stores the last value from links in cache within the file.


Depending on your setup, suggestion 2 might actually speed it up a little by reducing the number of actions.

To copy sheet to new workbook, simply ws.Copy, then you can set newWs = Activesheet (or using your naming set NewBook = Activeworkbook) to save it's reference, or just skip that also and put Activeworkbook into your With.