Agreed, annoying as hell. The ecommerce module has so many usability quirks/annoyances that it's practically unusable without significant modification. I guess that's why it's still in beta, and is an unsupported module. Maybe one of these days when I have some free time (ha!) I'll put together and post a version of the module that includes the basic set of changes I make every time I'm forced to use it. Word on the street is that the next version of SS will use jQuery instead of Prototype, which would be nice.
To fix the problem mentioned here, I modified the OrderForm so that it always shows a Shipping Address fieldset with a checkbox at the top (Ship to Billing Address) that auto fills from the billing to the shipping fields. Then I do all the validation with jQuery. It's not perfect, but it's infinitely more usable than the default, in my opinion.
See www.yellowstonecheese.com/checkout/ as an example.