If Bush vetoes CFR, it will come back during a Democrat White House, and it will pass. If Bush signs it now, and SCOTUS declares it unconstitutional it will most likely go away for a long time, at least in its present form, and will take tons of steam from McCain's next run at the presidency.
So, for the next presidential elections we could score like this:
Bush veto=Advantage McCain
SCOTUS overturns=Advantage Bush
You nailed it.