Hola
en cuanto a lo primero:
dim fechainicio as string = desde.text
dim fechafin as string = hasta.text
yo declararia fechainicio y fechafin como DateTime, y cargaría sus valores a partir del texto de los textbox, ahora no tengo la documentación delante, asi que no se cual es la manera de crear un datetime a partir de un string, pero basta con irse a la documentación y buscar "datetime members"
y en cuanto a lo segundo, yo en lugar de meter las direcciones en un string separados por ";" las introduciría en un ArrayList, así no hay que ir parseando la cadena, sino simplemente ir recorriendo el arraylist dentro de un bucle
Espero que te sirva, salu2