I thought it was generally shrewd and well-executed. It's important in these situations not to whine at length about the cheap shot you've taken, but to swing back aggressively. Obama pretty much did that. He noted the egregiousness of Bush's breach of protocol, and McCain's hypocrisy in embracing the Knesset attack after all his civility-speak. But he pivoted pretty quickly to the greatest hits of Bush's foreign policy failures, which don't exactly evoke thoughts of safety and security.
Obama also seized the opportunity to tie McCain to Bush, which may be the biggest problem these periodic flare-ups pose for McCain. And he sounded pretty forceful--there wasn't a thing about his presentation that evoked Dukakis. My only gripe is that he was a little halting in spots and stepped on some choice lines as a result. But I doubt it'll take him long to get fluent with this new, more detailed foreign-policy indictment.
On a slightly more substantive note, I thought it was interesting that Obama hit Bush for the elections that brought Hamas to power. He's clearly right on this--it was the height of stupidity to hold elections in a place that's neither liberal nor democratic and to expect them to magically produce a liberal democracy. It's still boggles the mind that the administration didn't anticipate the Hamas victory.
Politically, this tack has the virtue of making Bush look like the Hamas-appeaser and getting Obama slightly to his right. The only complication is that, rhetorically, it's slightly awkward to come out against elections. But, again, I think that's something Obama will smooth out over time.
Update: Ben Smith has McCain's reaction.
Update II: Video below.