Yes they do. But with the best intentions you can still have problems. For instance, if a user checks out an entire assemlby and the parts within it as well, then it essentially keeps the other user out all together. When that first user should have only checked out the assembly and then as they needed to work on the parts, they are then presented with the option to check them out and then put a newer version in the vault for the other user to use with their changes.
If you have one guy check out main assembly and another check out part of that assembly, the guy with the big assembly will most likely get all source of errors, like "edited out of turn", "not current version saved" and so on. So the procedure described by you (no offence, I do it this way too) its not a "special way" of working in multiuser scenario, its rather pathethic attempt to keep the work flow going. . I hoped that 2013 version came out with some solutions if it comes to this problem different from "I check out this one, you check out this one and we hope that all goes well'.