I was going to look into replacing the river shp file with the rail shp file and mess about with boats as trains to see what would happen. Thinking some more, I realized that if I posted anything like that here, I would be risking Don showing up at my door with a big stick and a nasty temper.
While picking blackberries (a task only marginally less painful than crossing barbed wire), I thought of another possibility:
If supported by the code, take the existing tramway and rail terrains and make them passable to units of class 197 river craft or similar while keeping their existing characteristics. Trains would then be based on this unit class. Problems would arise with river based units "sailing up the tracks" and with unit placement - trains on the water etc. For player generated scenarios these problems could be overcome by avoiding rails over water - the AI would be a different matter and any terrain passibility change would affect the game as a whole.