Hi,
For the duplicated orders, I think it's normal. It's probably the user going back and forth between your checkout and the payment gateway for one reason or another.
That's because each time the user clicks on "finish" at the end of the checkout, the order corresponding to the cart is created.
And if the user goes back to the checkout from the payment gateway (after clicking on the cancel button of the payment gateway), the user will see the checkout again with his cart, he can potentially change things, and then click on "finish" again. So we need to create a new order as things might have changed in the meantime.
For the order without a number, I can only think that the order number has been erased, either via PHPMyAdmin, or via a mass action after it was created with the order number properly set.