Nice idea, but no, it doesn't work.
It's true that a cube of ice in 100km height has a potential energy of just about a third of what is needed to melt and boil it completely. First point, as you already mentioned: How to keep the liquid water in place?
But, talking about reentry usually applies coming from an orbit and hence having a speed of at least 7.8 km/s. This kinetic energy is about 20 times higher than the potential energy in 100km height. Hence, you need to get rid of about 6 times the energy the ice needs to boil.
And, even worse: So far we just talked about the ice itself. A heat shield is put in place to protect something - and we need to get rid of both potential and kinetic energy of this something as well. If we assume a payload the same size as your block of ice - and that's still no good ratio at all - then we have to spend about 13 times more energy than the ice can take while evaporating.
On the other hand, when bringing some material back from an Asteroid it might be a viable option to bury it deep inside a huge ball of ice - but you better don't hit the wrong spot on earth as something similar already messed up our beloved dinosaurs life some time ago.
When talking about heat shielding, one also has to keep in mind that its purpose is not to absorb all the kinetic energy at reentry. It merely prevents that heat enters the payload taking advantage of its low heat conductivity (a feature water does not have) and it optimizes heat transfer back to the air rushing by. The ablative features of most materials are mostly helping to keep the material and its properties intact, though getting thinner with time.