A little insight re: the McCain areas in Brooklyn...
From the upper-left going to the lower right are Bay Ridge (Norwegian/Irish/mixed-white), Borough Park (Jewish), Midwood (Jewish), Bensonhurst (Italian), Bath Beach (Italian), Gravesend (Italian), Marine Park (Irish), Sheepshead Bay (mixed-white), and Brighton Beach and Manhattan Beach (Russian/Ukrainian Jews; aka "Little Odessa").
The two Obama areas surrounded by McCain areas in Brooklyn are Dyker Heights (mixed-white; affluent) and Coney Island (Black/Hispanic).
Dyker Heights is very affluent, but is pretty much Italian and is partially in #46 (the red district amidst the blue which is mainly Bay Ridge and in #49 (the blue district to the right below 48)
From the look of the Assembly maps and my knowledge of the area, the part in #46 appears to be the most affluent part of Dyker Heights, if that helps.
The strongest McCain parts of Brooklyn will undoubtedly be the Italian parts (even if affluent, like Dyker Heights), the Orthodox Jew parts (note the area where Williamsburg is within Brooklyn is shaded lighter red as well) and the Russian parts. McCain probably won many of these precincts, I suspect. The Russians really don't like black people, when I've talked to them, at least.