(I'm not a desktop app developer, so maybe I'm way off base here.)
There's the obvious observer problem where you have two views of the same buffer and changing the text in one automatically updates the other. Isn't that harder to tack on later than to design into the app from the beginning?
Depending on how well you can map your code to the built-in Cocoa text-editing classes, this could be as easy as adding two NSLayoutManagers (each directing one NSTextContainer and NSTextView) beneath a single NSTextStorage instance. Apple even uses this configuration for one of their examples:
http://developer.apple.com/library/mac/#documentation/cocoa/...
The built-in notifications and delegate-relationships handle everything else (updates & synchronization) automatically. This is actually NeXTSTEP-level stuff that's been around for decades.
There's the obvious observer problem where you have two views of the same buffer and changing the text in one automatically updates the other. Isn't that harder to tack on later than to design into the app from the beginning?