It is only practical in a single-story house. In a 2-story, most often all bathtubs/showers are on the upper floor. Also best with copper drain piping, which is not common.
There is no limitation of being a single story house. The 2 showers we use are on the second floor and the exchanger is in the basement. I think it would be worse with a copper drain. You waste energy heating up the drain pipe, instead of making it to the heat exchanger.
The "results" can be false/misleading. If you run a long copper line to the "recovery coil" at the shower drain and back, you pick up a lot of heat from the ambient of the house. And you pick it up all the time, not just when taking a shower. This doesn't require the coil, just some long lines.
I haven't measured it explicitily, but once the piping and water are the same temperature there is very little heat transfer from the house to the water in the 30 feet from the basement to the upstairs. Heat transfer from still air (inside the wall cavity) to copper is very slow on the order of 2.3 btu/ft^2 hr. I don't see this being a factor, although it is easy enough to measure.
I'd be curious how Chris measured his 20 degree increase in cold water temp. Was it at the input and output of the coil itself or did it include the rise in the lines due to ambient?
I measured immediately before and after the exchanger, the easiest way to measure it.
As already stated, it makes more sense to wrap it around the flue. Then it captures heat every time the heater runs, not just when taking showers. And more heat. Also would require only one coil per house regardless of how many bathrooms/showers you have.
I wouldn't do this for several reasons. Combining different metals will result in a galvanic reaction and corrode the metal. How are you suppose to get good contact between the flue and copper pipe? You would also condense the flue gases making a big mess. You then need to drain this acidic condensate as it ate away your flue, just like you have to do with a condensing water heating.
An average 40 g NG water heater is about 35000 btu/hr, assuming forty percent goes up the flue that is 14000 btu/hr you can capture (assuming you can capture 100%, probably be lucky to get 30%). In an hour long shower, I'm getting (2.5 g/min x 60 min x 8.8 lb/gal x 20 F) 26400 btu/hr. As a funny comparison, my well insulated 2600 sq/ft home had a heat load of 15000 btu/hr during the month of Jan when the average temperature was 17 F (70 F inside). Ain't math fun?