why can you write a check for twenty-nine hundred or thirty-one hundred but not one for thirty hundred? it seems strange that the numbers before and after are accepted but not thirty hundred must be written out three thousand in order for a bank to cash it.
I know nothing of the habits of American banks. But it is the case in general that informal English allows "twenty-nine hundred" and "thirty-one hundred", but not "thirty hundred".
As with almost all "why" questions about language, the answer is "because that's the way it is". But if you want a rationalisation, I would say that it is because "three thousand" is in some clear way simpler than "thirty hundred", whereas "three thousand one hundred" is less simple than "thirty-one hundred".