You are both wrong. And using that logic the iPhone 3G should have been called the iPhone 2 because it was the 2nd iPhone.
Look, the new iPhone is whatever Apple chooses to call it. You can use logic saying "the iPhone 3GS was the 3rd iPhone", well the iPhone 3G was the 2nd iPhone and the iPhone 4S is the 5th iPhone... so what?
Apple could call it iPhone 5 and that's what it would be called. It doesn't matter if it is not actually 5th iPhone because their numbering system in the past hasn't always corosponded to anyting at all, and quite frankly doesn't have to.
Some have suggested the iPhone be called iPhone 2012 or iPhone 2013, etc.. The problem with this is that some carriers don't get the updated phones until the following year, and this would lead to further confusion.