I am trying to support arbitrary unicode from a variety of international users. They have already put a bunch of data into sqlite databases on their iPhones, and now I want
[...] there is no built-in Cocoa methods to convert [...]. Is this correct?
It's not correct.
You might be interested in CFStringTransform
and it's capabilities. It is a full blown ICU transformation engine, which can (also) perform your requested transformation.
See Using Objective C/Cocoa to unescape unicode characters, ie \u1234