Hi John,
I just tested out what you mentioned on my personal account and can confirm its happening for me too. Ive opened a ticket with our development team to look into this and see if we can come up with a solution here.
For now, you could stick to the method you mentioned of sending your Estimates by saving and then Save&Email separately. Alternatively, you could allow Method to assign reference numbers instead of QuickBooks by navigating to the Quickbooks tab in method, and clicking on the Synchronize tab link. Here, you'll want to scroll to the bottom of the screen and check the box which says Assign Ref Numbers in Method. If you have users entering transactions into QuickBooks directly however, I would not recommend the second option, as if the sync goes down for any reason and a user in QuickBooks and method create a transaction at the same time, they may have the same reference number.
Unfortunately there is no quick way to produce a 'Wait' action on a button. You could utilize a Timer object with a series of actions, but this might be more trouble than its worth, I can definitely help you out if you were wanting to persue this route though.
Thanks John.
Regards,
Ben