What would prevent a user from locking the coins after they have received the merchandise? Someone could easily use this as a way to scam legitimate sellers of their goods.
I was discussing a mechanism for altcoins where the wallet would have the built in escrow features, similar to Ethereum's built in contracts. The idea was that you trade one altcoin for another, with the transaction information included in the label. Once you send the coins for a purchase or trade for another altcoin, they are "locked" or unspendable. By default, they will unlock automatically after 24 hours (or whatever Timer you set when you spend them).
If, before the Timer runs out, the other party hasn't sent you the altcoins, funds, merchandise, mining rig, etc, you could simply go to the ledger of transactions in your wallet program and click "Lock," preventing the coins from being spent. If someone has used theft or fraud, they can't spend those coins until they make things right by you, the buyer. This is just like a credit card hold that merchants place on your card to ensure that you return something on time and in good condition.
If you pay #5,000 for a mining rig that is supposed to arrive in 72 hours, you set the Timer for 72 hours. If it still isn't at your front door within three days, you keep the 5,000 #coins locked until it arrives. That way, if the mining rig appears five months later covered in dust and fingerprints, you can just unock the 250 #coins that the things is worth, since you didn't have it for mining when it could have been put to use.
Of course, if you wanted to send #coins or even lend them unsecured, you could just hit the Send button or Lend button, but details are still included in the label for the transaction, leaving a paper trail that you can access if someone is merely pretending to be someone you know.