"She is seventeen" and "She is seventeen years old" are both equivalent ways of saying that she is seventeen years of age - note the "s" after years. In regards the first expression, the fact that it refers to age is implied and commonly accepted.
I would not say that that the first one is merely "tolerated" - that's a bit of a strange word to use there. I would say that it is more informal than the second one.
I don't know when this structure - assuming you mean the first - appeared, but it is definitely still used today, if that's your concern.
y.o. is definitely an abbreviation, and one that I have never seen or heard before, until I read your question. So, it's not something used by native speakers.