I don't understand the need for multiple cores on the iPhone because it doesn't even have true multitasking.
This again. iOS 5 has full multi-tasking capabaility. The Apple API allows for multiple levels of multi-tasking capability ranging for sleeping a task in the background to fully running in the background. It is up to the developer to decide what level they want to use. All this was because of how running tasks in the background will reduce battery life.
----------
What about the heat problem? I'm not saying it's just an issue for Apple, but "we" can't keep making devices more and more powerful with no way to cool them.
Heat is one reason why Apple chooses to reduce the clock speed on the iPhone. Apple is probably looking at reducing power consumption on each processor interation.