As for the string, just do something like this to clear it out:
EthernetIPforCLXCom1.Write("StringTag", "")
I tested it in 3.99r and it worked fine.
As for UDT's, I think if you read a tag that is a UDT, it will return the bytes. It's up to you to figure out what the data is in the results. Try it:
Dim ret As String = EthernetIPforCLXCom1.Read("MyUDT")
MessageBox.Show(ret)