To begin with, think of "heat" simply as kinetic energy being transferred around between molecules. The transfer happens when molecules collide: if you strike a slow moving ball with a faster ball, the slow one moves a bit faster and the fast one a bit slower.
It's about the same with molecules and kinetic energy.
When you put the ice cube in the water, it has a lower temperature and therefore less heat (transfer of "movement") per gram than liquid water (so ice is like the "slow ball.") The liquid water molecules, which are moving faster and have higher kinetic energy, give the molecules in the ice some of their kinetic energy when they collide.
Remember that solid water is a crystal, and its molecules don't really move. The transfer of kinetic energy causes molecules to start moving, which disrupts the crystal and turns it into liquid water. So I suppose the transfer of heat occurs "during" the phase change.
The water becomes cold since it loses (overall) kinetic energy to the ice, the same way the fast-moving ball loses momentum to the slower one.
As sophiecentuar said, thermal energy goes from "hot" to "cold." Kinetic energy transfers indicate heat; cold is only the absence of these transfers. Curl is at least right that there is a net energy transfer.
...Mm. I'm not too good at explaining things, sorry. But I hope you find it a little bit helpful.