Should the number "0" be pronounced "zero" or "oh"?

Solution 1:

American speakers use zero in both conversation and writing. When reciting a string of numbers only, it is acceptable and common for an American to pronounce zero as "oh". But when reciting a string that mixes characters and numbers, it becomes necessary to differentiate between "oh" and zero.

In British English, zero is normally used only in scientific writing. In conversation, British speakers usually say "nought", or to a lesser degree, "oh".

Edit: Please review the excellent discussion below for further insight.

Solution 2:

Both are correct. But, zero is more formal than oh. Native speakers, both Americans and Brits, tend to use either of the forms. Limit the use of oh colloquially.

The Oxford English Dictionary says:
O n. (also oh) zero (in a sequence of numerals, especially when spoken).