The error you are getting is coming from the following file:
/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat|Indexer.php
It appears that this limit is set in the Catalog config.xml file which is located in the following file:
/app/code/core/Mage/Catalog/etc|config.xml
Doing a search for "max_index_count" you will find that this value is set to 64.
I am not sure why this limit is in place, but I have to imagine that they had a good reason for setting it to 64. On a DEVELOPMENT environment (I would suggest you do not try this on your live site before you understand what could happen) you could change this value and see what happens.
The number of indexes you have (the 521) is coming from the getFlatIndexes function in the Indexer.php file. I am guessing you are getting to 521 because you have your 321 + some additional ones that Magento uses by default.
If I had to guess, this limit is put in place to keep the flat catalog tables from getting too large horizontally. I am guessing there is a speed issue when the table gets too large.