I think he's right that it could get abused, but he's wrong to say it is therefore a Bad Thing. Database programmers and designers try to avoid contention but the locking and transactional mechanisms are there because it is unavoidable. Not being a multi-core programmer I don't know how well this analogy stretches but it seems to me that code should be shared-nothing as far as possible but that transactional memory is a Good Thing to have for those occasions when shared state is inevitable.
Probably a good thing that I don't write code anymore :-)