I don't have to pretend to be a root server to set up my own top-level domains. If I want ".abracadabra", I can set up my server to serve it, possibly delegating it to some other server (in BIND, this is a "forward zone") or slaving the .abracadabra zone from some other server. I can use the normal root servers for all the other stuff, except the OFFICIAL .abracadabra should it ever exist. Of course, the only machines that will see this are ones using servers (directly or indirectly) that know about this zone. If I can convince enough people to use my servers or (e.g. use "forwarders" in a BIND config file) point a reference to .abracadabra to my servers (the BIND "forward zone"), I might actually be able to sell domain names in that zone profitably (dream on!).
To say nothing of the fact that DNS is usually public: if you have a zone on your server, I can normally query it directly if it has a public IP address and you didn't put in an access list to restrict who to answer queries from.
Gordon L. Burditt