3326 = This Recordset is not updateable.
I'm assuming it is updatable before compact. This is certainly unexpected behavior and you may need professional help to debug this further.
In addition to Daniel's suggestions, did you decompile the application? Google for "Access decompile" and you will find plenty of leads.
How many concurrent users do you have?
Large databases don't have to be slow. Sometimes this is a function of an inexperienced database designer who did not put the indexes and other features in place to make it fast regardless of size. Sometimes it's a function of an inexperienced application
designer who did not put the criteria forms and other features in place to select fewer records to work with.
Sometimes you have outgrown Access as the back-end database and need to upsize to SQL Server.