I found the issue. My feed was correct, but apparently it's an outdated RSS parser within WordPress? That's beyond me.
But what worked was updating the parser per the instructions on this topic: http://wordpress.org/support/topic/120458/page/2?replies=24
The instructions I followed are:
1. Download the latest magpieRSS package from here: http://magpierss.sourceforge.net
There's a lot of files in this tarred and gzipped archive. You only need the four .inc files in the root directory.
2. Dump rss_utils.inc, rss_parse.inc, and rss_cache.inc into the wp-includes directory.
3. Near the beginning of rss_fetch.inc, change the call to Snoopy.class.inc to this:
require_once( MAGPIE_DIR . 'class-snoopy.php');
This will work as class-snoopy.php is already in the wp-includes directory and there's no need to install the extlib directory.
4. Rename rss_fetch.inc to rss.php and overwrite existing rss.php file in wp-includes with the new file.