FWIW, I've been dinking around with using ChronoSync for just this purpose. The *.ofocus file is a bundle filled with xml documents. You can swap individual xml files from document to document fairly successfully, but I'm not 100% sure what the structure of those xml files is, nor how each file relates to each project/context.
What DOES seem to work is to keep projects and contexts on computer A separated from projects on computer B, and keep the inbox clean on sync. (The inboxes can definitely overwrite one another) So you NEVER edit a computer a context/project/task on computer B and vise versa. Then the file-level sync works fine.
Soooo... after doing that for a bit, I realized that I could get the same effect with a lot less trouble by just storing each computer's stuff in its own OmniFocus document and just sync 'em from Mac to Mac. So I have a work.ofocus and a personal.ofocus document. I keep 'em both open, and NEVER edit the work doc on my personal Mac and vise versa. Simple, reliable, and not dangerous.