I have upgraded to 2.2.1. This did not solve the problem. After some experimentation I determined that the gzipped version of TinyMCE was not loading. I suspect some resource issue or server setting is to blame, but have not isolated it.
One solution is to edit script-loader.php, line 29:
/* $this->add( 'tiny_mce', '/wp-includes/js/tinymce/tiny_mce_gzip.php', false, '20070326' ); */
$this->add( 'tiny_mce', '/wp-includes/js/tinymce/tiny_mce.js', false, '20070326' );
Above, I have commented out line 29, which calls tiny_mce_gzip.php, and added the next line, which calls tine_mce.js.
This substitution allows me to use TinyMCE to edit posts.
Unfortunately, the TinyMCE Editor has disappeared completely from the Comments editor. It doesn't even seem to be loaded by the header scripts. I have combed through WordPress settings, thinking there must be some obvious setting I have overlooked, but have not located it. Worse yet, the Comments editor insists on converting markup to ASCII--it wraps a comment in <p></p> tags, then converts the tags and wraps the comment again every time I edit and save. Not out of the woods yet.
One thing I noticed, using TinyMCE in project I am developing: in FireFox, loading TinyMCE in the BODY instead of in the HEAD of an HTML page will usually result in TinyMCE failing to load.