I've just started with WP but, after following this thread, I've gotten the category and sub-category pages to work just fine. However, I am just starting so I'll probably screw it up in a day or two.
So, if it helps, here's the rewrite rules I ended up with...
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [S=43]
RewriteRule ^feed/(feed|rdf|rss|rss2|atom)/?$ /index.php?&feed=$1 [QSA,L]
RewriteRule ^(feed|rdf|rss|rss2|atom)/?$ /index.php?&feed=$1 [QSA,L]
RewriteRule ^page/?([0-9]{1,})/?$ /index.php?&paged=$1 [QSA,L]
RewriteRule ^comments/feed/(feed|rdf|rss|rss2|atom)/?$ /index.php?&feed=$1&withcomments=1 [QSA,L]
RewriteRule ^comments/(feed|rdf|rss|rss2|atom)/?$ /index.php?&feed=$1&withcomments=1 [QSA,L]
RewriteRule ^comments/page/?([0-9]{1,})/?$ /index.php?&paged=$1 [QSA,L]
RewriteRule ^search/(.+)/feed/(feed|rdf|rss|rss2|atom)/?$ /index.php?s=$1&feed=$2 [QSA,L]
RewriteRule ^search/(.+)/(feed|rdf|rss|rss2|atom)/?$ /index.php?s=$1&feed=$2 [QSA,L]
RewriteRule ^search/(.+)/page/?([0-9]{1,})/?$ /index.php?s=$1&paged=$2 [QSA,L]
RewriteRule ^search/(.+)/?$ /index.php?s=$1 [QSA,L]
RewriteRule ^author/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$ /index.php?author_name=$1&feed=$2 [QSA,L]
RewriteRule ^author/([^/]+)/(feed|rdf|rss|rss2|atom)/?$ /index.php?author_name=$1&feed=$2 [QSA,L]
RewriteRule ^author/([^/]+)/page/?([0-9]{1,})/?$ /index.php?author_name=$1&paged=$2 [QSA,L]
RewriteRule ^author/([^/]+)/?$ /index.php?author_name=$1 [QSA,L]
RewriteRule ^([0-9]{4})/feed/(feed|rdf|rss|rss2|atom)/?$ /index.php?year=$1&feed=$2 [QSA,L]
RewriteRule ^([0-9]{4})/(feed|rdf|rss|rss2|atom)/?$ /index.php?year=$1&feed=$2 [QSA,L]
RewriteRule ^([0-9]{4})/page/?([0-9]{1,})/?$ /index.php?year=$1&paged=$2 [QSA,L]
RewriteRule ^([0-9]{4})/?$ /index.php?year=$1 [QSA,L]
RewriteRule ^([0-9]{4})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$ /index.php?year=$1&monthnum=$2&feed=$3 [QSA,L]
RewriteRule ^([0-9]{4})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$ /index.php?year=$1&monthnum=$2&feed=$3 [QSA,L]
RewriteRule ^([0-9]{4})/([0-9]{1,2})/page/?([0-9]{1,})/?$ /index.php?year=$1&monthnum=$2&paged=$3 [QSA,L]
RewriteRule ^([0-9]{4})/([0-9]{1,2})/?$ /index.php?year=$1&monthnum=$2 [QSA,L]
RewriteRule ^([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$ /index.php?year=$1&monthnum=$2&day=$3&feed=$4 [QSA,L]
RewriteRule ^([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$ /index.php?year=$1&monthnum=$2&day=$3&feed=$4 [QSA,L]
RewriteRule ^([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/page/?([0-9]{1,})/?$ /index.php?year=$1&monthnum=$2&day=$3&paged=$4 [QSA,L]
RewriteRule ^([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$ /index.php?year=$1&monthnum=$2&day=$3 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$ /index.php?category_name=$1&year=$2&monthnum=$3&feed=$4 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$ /index.php?category_name=$1&year=$2&monthnum=$3&feed=$4 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/([0-9]{1,2})/page/?([0-9]{1,})/?$ /index.php?category_name=$1&year=$2&monthnum=$3&paged=$4 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/([0-9]{1,2})/?$ /index.php?category_name=$1&year=$2&monthnum=$3 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/([0-9]{1,2})/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$ /index.php?category_name=$1&year=$2&monthnum=$3&name=$4&feed=$5 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/([0-9]{1,2})/([^/]+)/(feed|rdf|rss|rss2|atom)/?$ /index.php?category_name=$1&year=$2&monthnum=$3&name=$4&feed=$5 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/([0-9]{1,2})/([^/]+)/page/?([0-9]{1,})/?$ /index.php?category_name=$1&year=$2&monthnum=$3&name=$4&paged=$5 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/([0-9]{1,2})/([^/]+)/?([0-9]+)?/?$ /index.php?category_name=$1&year=$2&monthnum=$3&name=$4&page=$5 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/([0-9]{1,2})/([^/]+)/trackback/?$ /index.php?category_name=$1&year=$2&monthnum=$3&name=$4&tb=1 [QSA,L]
RewriteRule ^(.+)/feed/(feed|rdf|rss|rss2|atom)/?$ /index.php?category_name=$1&feed=$2 [QSA,L]
RewriteRule ^(.+)/(feed|rdf|rss|rss2|atom)/?$ /index.php?category_name=$1&feed=$2 [QSA,L]
RewriteRule ^(.+)/page/?([0-9]{1,})/?$ /index.php?category_name=$1&paged=$2 [QSA,L]
RewriteRule ^(.+)/?$ /index.php?category_name=$1 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/feed/(feed|rdf|rss|rss2|atom)/?$ /index.php?category_name=$1&year=$2&feed=$3 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/(feed|rdf|rss|rss2|atom)/?$ /index.php?category_name=$1&year=$2&feed=$3 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/page/?([0-9]{1,})/?$ /index.php?category_name=$1&year=$2&paged=$3 [QSA,L]
RewriteRule ^(.+)/([0-9]{4})/?$ /index.php?category_name=$1&year=$2 [QSA,L]
</IfModule>
I also found that if I let WP write to my .htaccess everything went to crap. However, if I copied the rewrite rules from the "Edit Permalink Structure" screen, it worked like a charm. Of course, I still had to move the category rules to the bottom as aleck suggested. Hope that helps!