Powell would be a mistake. For one thing, the Dems are trying to argue that McCain's administration would be a continuation of Bush. Picking Colin Powell as VP would feed that notion -- Powell was George Senior's right hand during Desert Storm, and led the charge into Iraq. If McCain were to pick Powell, the Dems would continuously run the footage of Powell at the UN going over all the evidence to prove that Saddam had dangerous WMD programs.
Powell would be good at throwing the race card into the discard pile, but otherwise, he used up his collateral when he argued the case against Iraq in the lead up to OIF. Great guy, highly intelligent...but politically spent.
McCain would be better served with a VP that had bona fide conservative credentials, to help reassure those on the right that don't trust his leanings.