I don't know about the rest, but surely the race conditions are the fault of whoever designed the concurrency part. An email client does not inherently have race conditions.
OK? Sure would be nice to hear why having a second email client talk to the remote server introduces race conditions on the local client (EDIT: that is, race conditions that are the local client's responsibility).