i think there was in issue in one of the later beta versions that caused errors in the search indexer after you deleted modules. However, an upgrade to 3.0.12 should have fixed that ...
The other reason for errors during search indexing is an obvious, but i think often overlooked, one. Chances are you are using a module with a poorly implemented GetSearchItems method ... It can be a tedious job to track down the module in question though. A hint would be looking at the exact error that you get (either duplicate values, or null values). If the error is a duplicate value, try to find the value in the searchitems table, check the moduleid for that record, and find out what module it is ... Null values are a bit harder to do. One way is to create a new portal on a new instance of dnn, and start adding your modules, reindex the search parameters after every addition ... this way you will find the module that is causing the error ...
it would help a lot if the exception would mention at least the moduleid that is causing the error ....
cheers,
erik