Cita: ya que al decirle a mi función Datos que es String
Si te das cuenta no es un string normal.. si no mas bien un arreglo de strings...
Checa ésta línea.
Cita: <WebMethod()> Public Function Datos() As String()
Tengo los parentesis despues de string, con ello indico que es un arreglo.
Pero si aún así no te funciona, me parece extraño

porque te digo que hice un par de pruebas y me funcionaron sin problemas.
Checalo bien y me dices como te fue. . .