Ah, no, tags are not hierarchical.
You could try enabling the object cache. WordPress does not use it by default. Add this to the wp-config.php, after the other defines but before the includes.
define('ENABLE_CACHE',true);
And make sure that the wp-content/cache directory is writable. WordPress will cache results of a lot of queries into here, and when it finds them, it will use these instead. It is debatable how much performance this helps. In many cases, it hurts performance, but sometimes it's still useful.
Note that if you do have it enabled already, then this could be the problem with the cats not showing up in your lists. Delete the contents of the wp-content/cache directory, see if that clears up the issue. In which case, you could remove the ENABLE_CACHE line from the wp-config to disable the object cache.