Adam, I never actually downloaded the db (I'm on dialup). I just looked at the relationship diagram and read the description of the records he was wanting to add and applied the rules of normalization to what I was seeing.
Each of the (<=) 5 records Ray was wanting to add per expense had identical values in every field except the CaseID field. One of the rules of normalization is that you should not have repeating information within a table. This design has repeating information for all the fields bar one.
So it wasn't that the data was messed up irretrievably....just that there was a one to many relationship that had not been recognized in the original design: i.e., one expense can have many cases associated with it.
Any time you have a one to many relationship, you need two tables to handle it properly. If you force all that information into one table, then you either end up either forcing the 'many' part into a single cell (like listing more than one name in a cell in excel)
or else forcing the user/code to enter in the 'one' side many times (probably why the users were unhappy about doing the necessary data entry to make that work). The latter is what you are doing via code.
Thankfully, the information is all there, and the design can be fixed without loosing the data. Fixing the design would allow the form/subform solution to his immediate problem without the need for a lot of coding, and improve the file size of the db, and proof him against some of potential violations of the assumptions he's using to scope his problem.
I think that, with a few exceptions, when you have to spend a lot of time and effort 'forcing' access to do something it isn't designed to do, chances are pretty good you're attempting to overcome a design flaw in the relationships. Not that this is always the case but, this time it is.
So using code treats the symptoms, but fixing the relationships cures the disease.

Quite honestly, it shouldn't take that long to fix the table structure. I would have thought it doable in less than an hour (unless I'm missing something?)