Das speichern einer DataTable in My.Settings funktioniert nur, wenn der DataTable ein TableName zugewiesen ist. Wenn das fehlt, wird zwar beim Speichern keine Exception geworfen, aber auch nichts gespeichert.
Also mindestens so:

Dim dt As DataTable = New DataTable()
dt.TableName = "webs"
dt.Columns.Add("Pfad")
dt.Columns.Add("URL")
My.Settings.Linkdata = dt

Falls es beim Speichern anderer Objekte in den Settings Probleme gibt, kann ich folgende Codezeilen empfehlen:
Dim file As IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter("c:\test.xml", False)
dt.WriteXml(file)
file.Close()

Hier wird dann eine Exception geworfen, falls etwas mit dem Serialisieren nicht funktioniert(kein TableName definiert ist).