Ok, the problem here is simple (but was confusing to debug): you accidentally inserted some text at the beginning of your setup.php file, outside of the <?php and ?> brackets. As is standard in PHP, text outside these brackets is passed to the browser as-is. As a result, this text shows up at the start every page.
For regular screen this is just slightly annoying - some text in the upper left hand corner of the screen.
For AJAX JSON-format request responses, however, it's much worse. The extra text renders the JSON invalid. Since the hierarchy browser relies upon AJAX calls it fails. Other AJAX based UI, including all of the auto-completers are broken for the same reason.
Edit your setup.php, remove the extra text and you should be ok.
seth