For those of you busting your brains trying to figure out why indexing does not go past n%...
If you are using any kind of access control (simple access, taxonomy_access, etc) indexing will not be able to see anything that the anonymous user cannot see; such content will NOT be indexed.
I ran cron.php as the admin user and things started moving forward again. I then ran into this thread which confirmed my suspicion:
http://drupal.org/node/5380 (look at comment #17)
...and this dates back to 2004!
Perhaps I missed it in the docs, but as far as I know and everyone told me, as long as you set up cron.php (via cron) properly indexing should take care of itself. Not so. If you have your site wide open, yes it works; once you start tagging things down and assigning access by role indexing breaks down. Wow, and I did ask quite a few times on this same topic and everyone was pointing to just running cron.php.
To those that know... why the heck is something like a php script that's accessible to anyone over the web used for such critical maintenance of Drupal sites? (cron.php) Yes, I could rename the script but still...
Ok, so now I'll continue painstakingly searching through Google (Drupal.org can't seem to be able to search itself...) for a way to make cron.php run through some other mechanism or via an authenticated user that has access to all the content I want to index.