I've thought about the feasibility of such a service for a long time, but I always figured you'd run out of numbers. If there are nine digits available (16 - 6 - 1), that's 1,000,000,000. If you have, say, 100,000 customers, that's 10,000 per customer, which would quickly get used up if they're using one per transaction.
I don't know enough about how it all works, but perhaps -- because the number isn't valid on its own -- giving the number to a different customer, with a different name, effectively invalidates its previous use and means it can be safely reused.