Ian is an idiot. It is a game. Katie would have flipped on him in a minute to win. She does not deserve to be final two. Ian must really have the hots for her.
No, I think it was an honor decision based on the fact that Tom had become something of a father figure (I do wonder what Ian's parents were like) and he was hurt by the fact that Tom lost his respect for him. Remember, just before Ian shocked Tom with his "tough decision" comment, Tom had gotten through saying that he wouldn't turn on Ian because he trusted Ian. To a lesser extent, he had also let Katie down not long before. And I think that like he said, he didn't want to go home being the villain and he certain did pick a solution that did restore his honor and Tom's respect for him. While I think Tom deserved that, I don't think Katie did. But I, for one, was happy to see honor play such a big role in a game where people seem to be so quick to justify anything and everything on the grounds of "It's just a game" and "I'm here to win a million dollars." I think that both Ian and Tom (in not turning on Ian, which could have cost him the game because Ian was his only threat in the final 4) were simply showing that there is more to the game than winning.