I tend to believe Olmert's version of events though I don't believe it happened so dramatically. First, there is no way that the US would not veto any resolution that the Israelis would not feel they could live with, so they must have consulted with them in advance. The reason for the abstention was to give Olmert political cover to negotiate a cease fire without seeming to cave to US pressure.
Keep in mind there is an election in Israel next month, and neocon poster boy Benjamin Netanyahu is the heavy favorite. Although Olmert is not a candidate he wants his party to retain power. If Netanyahu and his followers have their way Israel will permanently reoccupy Gaza and reestablish Jewish settlements. Based on past history, and with the incoming Obama administration, the US would prefer a moderate to liberal regime that would be more flexible in the peace process. That is why the US abstained so that assuming a cease-fire deal is reached Netanyahu, who is sure to oppose it, won't be able to accuse Olmert of caving to US pressure.
Also Olmert has shown flexibility on other issues. The last few months he has been negotiating indirectly with Syria about returning most of the Golan Heights in exchange for mutual recognition. This is anathema to the Israeli wingnuts.
I think Rice gave away her reasoning when she explained that she wanted to await the outcome of the Egyptian-French cease-fire initiative before voting for the resolution. I believe she assumes Israel will reach a deal somewhat along the lines of the security council resolution. Even now there are reports that an Israeli negotiator is heading to Egypt to finalize a possible deal. That being the case it made sense for Bush and Rice to let the process play itself out so as to give maximum benefit to the Israeli center/left political candidates.