I don't know. I've never worked with a database that large, but SQlite supports file sizes into the terabytes. There are potential dangers when adjusting the database
synchronous level which might be a factor if you've changed it.
Another possibility would be something like a bad sector on the hard drive. You might chkdsk and defrag your drive, but I don't think they can diagnose all issues -- something like SpinRite or Norton Utilities may be more comprehensive.
If the external repair tool doesn't help, restore from a good backup.