Well out of the three and i am including the hero, or four if you include the samsung, the hero has the best HTC hardware, then the magic, then the dream, the only thing the dream has over the other three is the physical keyboard which most people who are used to the iphones virtual keyboard don't care about, i love my hardware keyboard. I think some versions of the magic have a little bit more ROM and RAM then the dream but i know the US version got a bigger jump, i could be wrong. The overall experience is the same. The memory really isn't an issue and if it is go with the samsung, it has 8gb supposedly. My choice is the dream just for the hardware keyboard, but a lot of people love the magic.
Magic. Hands down. It is MUCH better looking. It is smaller so it fits in a pocket much better. It's running Android 1.5 by default and you could put the Hero ROM on it if you wanted to. The screens are the same pretty much but most people think the Magic screen is more responsive and accurate.
I say go with the Magic. I played with both the Magic and the Dream up in Canada and if you need a keyboard then go for the Dream, but if you are coming from an iPhone 3G then I would just go for the Magic. It is a solid device, nice and slim (but thicker than the iPhone), and it fits nicely in the hand.
But Magic over Hero? After reading the review I really don't want a phone (Hero) thats over all less responsive over all than my iPhone 3G...
I would say the magic then but the hero isn't always laggy like everyone is saying. Hardware wise the Magic is the winner, I love my dream but only because it has a hardware keyboard and i have rooted it.
I think Apple's performance optimization is still the best. The Magic comes close though from everything that I have seen because it's running stock Android with some extra apps that TMobile is pushing.
The magic is getting better and with the tmo apps you mention like FreshFace really make it worth while.
HTC Magic, then flash it with the Hero ROM.
That also works very well although to get the best performance i would use Cyanogens or xxxxski ROMS that are hero since he optimizes them with Cyanogens Kernel,.