I know there's a ton of websites already (even some mom and pops shops in all types of retail) that handle the issue of 2 people buying the same item online... Once something is sold online, it immediately changes the item to "no longer available/out of stock", so I don't see that being an issue at all really. Auto parts retailers have had that tech for well over a decade now. I can't see why GC couldn't adopt 15 year old tech for that particular issue. Darren Riley (a very small in comparison to GC) online music parts store has that tech on their site. I know becasue I've wanted to buy multiples of the same item from them and it stopped me becasue I bought the last one already, and it was instant.
As far as the issue of having multiple retail stores and one comprehensive website all interacting together, I don't believe it's 1000xs more complex than I imagine as you say... or even 10xs. I say that because with all the thousands of different types of retailers in the world (outside of the musical instrument biz) I can't imagine that people haven't already seen a need for that type software, and that it doesn't already exist in several forms to choose from already. I'm not saying it's cheap, but I don't believe GC would have to pay millions and millions to have an IT company custom make it for them. Just buy what's already been invented. Carmax comes to mind as a first thought.
Unless one is a software developer, computer science major, or software engineer, these types of posts show just how ignorant one can be of how this stuff works. "If only...", "In this day and age...", "With cutting edge technology they should...". Perhaps those complainers could enroll at MIT or Stanford and create a whole new relational database system. Society rewards those very handsomely who can create such and then have the whole world adopt it.
Now, GC could use the opposite form of database locking where if one person browses an item, no one else can browse it. The item either gets flagged as "Sold" or "No Longer Available". Some on-line merchants use this method, perhaps those you mentioned above. The problem for many merchants, is that if customer #1 decides not to complete the transaction for whatever reason, the sale is lost as customer #2 already moved on.
For some merchants, this is an okay scenario, part of what developers call their 'business rules'. But for large merchants, those lost/delayed sales can add up into serious dollars. If an item sits and sits, it costs a retailer money. So big retailers use database locking that allows two people to browse an item, but the one that gets processed first gets it. (There is even more stuff going on behind the scenes that determines what gets processed first, and it's not as obvious or cut-and-dry as one might imagine.)
Imagine this scenario: Customer #1 walks into a store and sees at an item on the shelf where only one is available. We don't know if he will actually buy it, is just kicking the tires, window shopping, etc. Do you let a second customer "see" that item on the shelf also, or should a cone of blackness shroud that item while customer #1 is staring at it? Some say yes, so customer #2 will then move on to another store. What happens if customer #1 cannot complete the transaction for whatever reason. His card is declined, wife shows up and forbids it, etc., etc. Now the retailer lost that sale until another customer, perhaps customer #2, perhaps another customer, comes in at a later time, maybe even months later to buy it. That merchant lost money having the item sit on the floor longer than necessary than if he allowed both customers to "see" the item at the same time.