Can anyone enlighten me as to what might be happening here?

Situation:
I am getting duplicated orders all the time.
If (say) the next order number in the sequence should be 100, I am getting order numbers 100 AND 101 generated. I get email confirmations for both, and both are stored in the database.
The order number that gets reported on screen is 101.
The timestamp on the database is identical.

What I've done:
So - I am certain that I have caused this:
I have added a new field to the orders table to hold a customer licence number. The field is added after the IP number and is a varchar(25) type.

I've also modified the following files:
includes/classes/order.php
includes/languages/english/mysitename/checkout_shipping.php
includes/modules/pages/checkout_shipping/header.php
includes/templates/mysitename/templates/tpl_checkout_shipping_detault.php

The changes to each were very straightforward

only the language and the form template are in an override directory - the other 2 files directly replaced the originals (after backup of course!)

Since the problem only started after these files were replaced, I have to conclude that this caused the problem.

The problem is that I have now removed all the new files - just the changed database field remains - and it is still happening. It definitely wasn't happening before.

Could one of you super-smart developers give me a clue about where I might look for the problem? or what might be causing it? Order.php seems the most likely - is there anyway this might be called twice?

PLEASE help - this was supposed (!) to be the last change before the site went live - and I now seem to have wrecked it!!

Yours Hopefully.

Julia