I would think that BioShock would be the better choice in the end. It's not that the Call of Duty game wouldn't be nice to have, but it's really just more of the same. You already have Call of Duty 4. It's like you're buying the game all over again, this time on a World War II stage. With BioShock you have a new and more innovative route to travel down.
I'd have said bioshock hands down BUT it has no online whatsoever.
Call of Duty World At War will have offline and online, also trophies, split screen multiplayer.
get CoD it may be the cod4 engine but it's going to be a cool game.