It's a good question, so let's be rigorous with a solution. Regardless of the algorithm involved, the flow direction is ultimately determined by fitting planes to the surface at each point. (Theoretically, these planes are the derivative of the surface; in practice they are often computed as least-squares fits to the values in the immediate 3X3 neighborhood.) Such a plane has an equation of the form
z = a*x + b*y + c
where (x,y) are horizontal coordinates,
z is the elevation, and constants
c determine the plane. The flow direction is computed solely in terms of
b: these determine the aspect of the plane. In fact, all that really matters are
b relative to their total size sqrt(a^2+b^2). This is because (a,b) is the direction vector of the projection of the surface normal into the plane.
When the units used for
z differ from those for
b, in effect
z has been rescaled. The implied equation becomes
s*z = a*x + b*y + c.
For instance, converting
z from feet to meters uses a value of s = 12/39.37. Equivalently,
z = (a/s)*x + (b/s)*y + c/s.
b have changed, their values relative to their total size have not:
a / sqrt(a^2 + b^2) = (a/s) / sqrt((a/s)^2 + (b/s)^2)
b / sqrt(a^2 + b^2) = (b/s) / sqrt((a/s)^2 + (b/s)^2).
Therefore, no change is made to the flow direction. All is fine. You do not have to rescale the values of the DEM.