You can, in theory do everything with a DVCS that you can with a centralized system; you just can't do everything with the current crop of DVCSes. There's no fundamental reason a DVCS can't have an integrated lock manager, where you can negotiate with some server in advance to prevent anyone but you from changing a particular branch to have a different file at a particular path than you have there, and have the repository configured to advise users to get this kind of lock on certain files before working on them. They can, of course, ignore that, and a DVCS means they are able to track their changes locally while still not being able to get their work into the official location, but that's not really different from someone using "Save As..." to avoid getting the lock. (And having an API for getting the versions for a merge in process means that, in theory, your CAD program could have support for performing the merge, and people who really want to work while someone else has the lock could potentially get started early and do more work total but spend less time waiting if they merged.)
Also, a DVCS could, in theory, know where to get all the big uninteresting files instead of actually storing them on the client. That is, for files that aren't useful to compare aside from identity, it would be perfectly reasonable for the DVCS to store on the client "hash xyz is available at (location)", and only actually get the content when needed. For that matter, a DVCS could store the content of large binary files in bittorrent (or a site-internal equivalent) and beat a centralized distribution point.
So far, we haven't seen any DVCSes that do either of these things, but there's not reason they couldn't, aside from the fact that there aren't developers who want to work on those particular problems. That is, version control programs are written in environments with merging and files that compress well against each other and other versions of the same file; this means that "eating your own dogfood" isn't sufficient to motivate developers of version controls systems to fix these problems, and centralized systems, by and large, tend to just happen to work for these cases by default or with very little design effort.