On my machine, the default TTS voices will only pronounce numbers up to 999999 (nine-hundred-thousand-nine-hundred-ninety-nine), and will speak digits above that, which the SSML snippet remedies (up to 999999999999999; Though I assume getting to nine-hundred trillion credits presents other challenges).
I will say it should be "cardinal", not "ordinal", which also explains why it didn't work with fractions.