I first leveled the water bodies, with no apparent problem. But when I subsequently ran DEM reconditioning, some cells are ending up as NoData. Why? This is a big problem. Any way to get the source code for the process so I can look it over and recode as needed?
I also encountered this problem and I too noticed that it only changed values of 0 to nodata. So I used a workaround that you might find useful: I ran raster calculator on my DEM and added 0.0000001 to all cells in the raster, this in effect removes 0s whilst effectively retaining them. Then I ran reconditioning on the result successfully.
In effect what I actually achieved was simply to convert the raster, since the precision required to add 0.0000001 is not available. I was using an Integer DEM and the resulting layer is Double precision 64bit. So I would suggest trying to convert the raster first and if that does not work, apply raster calculator with a very small number. Hopefully this will be fixed soon.
Glad to know it's not just me having the issue. I have since abandoned the DEM Reconditioning tool and wrote my own algorithm in Python, which runs a modified AGREE procedure. If anyone wants it, feel free to contact me.