I have often heard people say 101, as one-zero-one, and also as one-oh-one. Which is correct, and why? Does the difference between British English and American English have to do something with it?
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.
Zero is a little bit longer to pronounce, hence the "oh". As an American speaker, I've always heard it pronounced one 'oh' one, though that doesn't make it anymore correct than one zero one or one-hundred and one even.
It also tends to be a little more trendy and/or less formal to use 'oh' (Hawaii Five-Oh for example).
I also use 'zero' as if I use 'oh' in a string for numbers (i.e. nine-oh-three) it can be mistaken from an eight (nine-eight-three), as there is the tendency to soften or drop the 't' from eight if it is followed by another word, especially if the following word starts with a t sound (or th, d or to a lesser case d or p)
This may be simply due to my Australian accent, but I don't feel this is the case.