An unlimited amount of TLDs is a nice idea, in theory, but unfortunately it would require a massive overhaul of the current implementation of DNS as I understand it. This is why (anyone out there with a better understanding than me, feel free to correct me if I'm wrong . . .)
Each TLD has a group of servers that are authoritative to dispense the DNS servers that are authoritative for the SLDs that are registered under the TLD. Thus, you have a group of servers that are authoritative for the .org TLD. When somebody wants to look up the IP address of www.kuro5hin.org, the root server refers the request to a server authoritative for .org, which then refers the request to a server authoritative for kuro5hin.org, which returns the IP address of the machine named "www" in the "kuro5hin.org" domain.
So, under the current system, each new TLD would require a new pool of servers be delegated authority for that TLD, or either an existing set of servers have authority for that TLD added to their scope of authority. It seems to me that this process would add a whole new level of complexity to the whole system.
A possible alternative would be to allow organizations that wanted to create a new TLD to be prepared to properly administer a pool of servers with authority for that TLD, but it seems to me that such a solution would take the currently (more or less) centralized system and create a bit of chaos, in addition to opening up all sorts of abuses (i.e., Amazon creates the .amazon and .book TLDs and accepts authority for them, but then refuses to register boycott.amazon to RMS or anotherstore.book to anotherstore, or drags their feet on the registration).
Anyway, that's my 2 cents for now; if anybody has other corrections, insights, suggestions, etc., I'd be happy to see 'em.
A fool does not delight in understanding, but only in revealing his own mind."
-- Proverbs 18.2