The distinction is the expected ratio of US customers to international ones. A significant inconvenience for a select few customers is nowhere near as bad as a small inconvenience for every customer.
Also, shipping is _important_. Definitely agree with that point - if you spend all your time making the checkout form internationally friendly, you've already run out of time for your product. You're either irrelevant, hopelessly behind the competition, or completely out of money.
Might be viable at a large company, though, where you've got people who are already doing nothing useful.
Not to be rude, but I think you're having a bit of a reading comprehension problem. Nowhere did I say to block non-US users, as you've repeatedly asserted I did.
What I am saying is don't worry too much about getting it right, especially if you plan on targeting US-based users first. If people have to pick a random state because the validation library you used always validates states, but only 5% of your users hit that problem, big deal. You should have a decent analytics package installed, and if you do you'll know what the bounce rates are for your international users, so you can decide if and when there is a business case for doing full i18n and l10n.