The press corps and many an American voter fell for McCain because he's a little edgy, has a real sense of humor, and will say unexpected things. This works great when you're driving around New Hampshire in a bus and holding town hall meetings and having close contact with lots of voters. It's not so clear that it can work at a national level. His little joke yesterday about cigarettes being "a way of killing" Iranians is a case in point.
The bind McCain faces is that he's a stilted candidate when scripted. But when you let "McCain be McCain," he says and does things that seem to translate poorly in the YouTube/blog era. Moreover, these are more serious times than when McCain ran for president in 2000. So when he makes cracks about attacking other countries people are understandably a lot more uptight than when he first perfected this schtick.