Hi - new version of the code uploaded. Some minor changes detailed below.
2.3a.cs
Changed lines for error handling when reading in data files - provides more data.
Save files now have .asc extension instead of .txt - this is to make easier integration with reading into GIS packages. The internal format of the files is unchanged - just the extension
in qroute(); the line Math.Pow(hflow, (10 / 3) is now replaced with Math.Pow(hflow, (10.0 / 3.0) as C# uses the integer value of 10/3 and 10.0/3.0 forces it to use a floating point.