It seems there is a small bug in the function Map of the LinearAlgebra package ("inplace" map for Matrix and Vector).
Let A be a Matrix with numerical entries and with "datatype=anything".
Then Map(evalf[n],A) applies evalf[Digits] whatever is n. The same occurs for Map(x->evalf[n](x),A). Map(evalf,A,n) does nothing. However Map(x->evalf(x,n),A) works fine.
The problem with your final solution, Map(x->evalf(x,n), A), is that it generates 1 extra high-level procedure call per represented entry of A.
It is hard to imagine a situation where this would be worth the extra time compared to the extra memory that is required by regular map.