This "new record" must not be created by using default values, otherwise there would be nothing to save. You must be populating the form fields directly based on form load code or something. That's the root of your problem.
If you can't eliminate the application close button, I see no way around not using default values except for requiring at least x fields to be not null upon form unload, and if they are, delete the record. Or you could set a flag if the form close button is used, thus if the db close is invoked, the flag is false, thus delete the record. To me, any of this seems like a hack when you could used default values - either in the table design or by setting the property on form load.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.