IN clause requires a commas separated list: so add your comma in the loop:
Dim selected As String = ""
Dim sep As String = ""
For Each node As RadTreeNode In treedetails.Nodes
If node.Checked = True Then
selected += sep + node.Value
sep = ","
tn &= " and a.zbaid in (" & selected & ")"
But you would be better off using a StringBuilder, or assembling a List of strings, and using String.Join.
move separator to before clause...oops - OriginalGriff[/edit]