I am not sure when but it seems Apple supports concurrency programming with Core Data in two ways:
"There are two possible ways to adopt the pattern:
Create a separate managed object context for each thread and share a single persistent store coordinator.
This is the typically-recommended approach.
Create a separate managed object context and persistent store coordinator for each thread.
This approach provides for greater concurrency at the expense of greater complexity (particularly if you need to communicate changes between different contexts) and increased memory usage."
I know, it still requires us to carefully manage things.
Do you available for updating the "CoreDataStack" in stead of an assertion in code?
reference: http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/coredata/Articles/cdConcurrency.html#//apple_ref/doc/uid/TP40003385-SW1