How do you know it's creating a new record? It's possible that one or more fields have a default value and what you're looking at is a new record that is a potential record but has not been saved. If you don't need the defaults (it is likely 0 in a number field - see table field in design view) remove them and see if it behaves any different. If there are no values at all, something could be creating a record and saving it with nulls or empty strings but I doubt it. You can open the vb editor and put a break on the open event of the subform and step through code (if you have any) to see what might be causing a new record, assuming that is really happening.
You could also copy, compact and zip your db and post here for analysis.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.