If re-indexing the Product flat data index gives an unknown re-indexing error or "Some problem with re-indexing process" error message or the re-indexing of Product flat data index is never completed, then it is most likely due to references to products that have been deleted or no longer exist.
You could try truncating those catalog_product_flat_* tables. Backup your database and then via MySQL console, phpMyAdmin or other MySQL client run the following:
Do this for all catalog_product_flat_* tables. Then re-index the Product flat data index to rebuild / repopulate those tables.