But equating long life with infinite life isn't quite right here. Every card will stop being used some day. If the MTA know with certainty that X proportion of cards do EOL with Y USD on them, then they can safely consider X × Y as earnings and spend it immediately, ergo the moment of first top up is the true moment of shafting. I'd bet good money that the MTA's internal figures record earnings from excess balances by counting cards newly registered, not cards recently expired.
I studied econ at a good school, and I can tell you that an economist would 100% equate this with theft. Because it is.
edit:
This - https://news.ycombinator.com/item?id=8274314 - is a very good point. Ensuring cards always have a meaningful balance on them is probably the best way to stop people treating them as disposable (I imagine their cost is non-negligible). If they're given out free, it's clever, but if you have to buy them (like London's Oyster cards) it's even more of a scam. To have a totally clear moral conscience the MTA should really let you return the card and cash out.