The product type is its own class, not a string.
Change your code to look like this and I believe it should work. I checked the code in VS2008, but I would imagine it's similar in VS2010.
Dim weather As ndfdXMLPortTypeClient = New ndfdXMLPortTypeClient()
Dim soapWeatherParameters As weatherParametersType = New weatherParametersType()
weather.NDFDgen(42.73, -73.99, productType.timeseries, Now, Now.AddDays(5), soapWeatherParameters)