Ahora que veo bien el código, esa consulta siempre devolverá un sólo registro por lo que no veo la necesidad de hacer un
For Each.
Me parece que no están llegando los valores, haz lo sgte
Código vb.net:
Ver originalMessageBox.Show(Convert.ToString(dr(0)))
Return CStr(dr(0))
Creo que sabes que hace ese código.
Cualquier problema nos cuentas