jenny Sounds like background indexing is broken for some reason. What version of CollectiveAccess are you using? The current version (2.0) has an improved method for handling background indexing, so if it's not working we'd like to figure out why. If you're running an older version a stopgap solution is to add this to your local app.conf file:
disable_out_of_process_search_indexing = 1
This will force all indexing to happen within the current web request, which means indexing will always happen "real time". The downside to side is that saving records will be slower.