Lack of Legacy Support
In general, when the iPhone is missing an interface, Apple didn't really want you to use it anyway. An example of this is that UNIX '03 and 64-bit inode support is now mandatory. This means that code that may have used to work with dirents (or some of the more crazy areas of Mach threading) tend to get messed up if compiled poorly on the new system. If you are using the complete "Upgraded" Toolchain instructions then this is likely to be taken care of, but otherwise you might have #define these features manually to make them work.
(Actually, even #defines may not help you, as Apple has also changed the symbol mangling. It's still useful to list the types of changes, though.)
_DARWIN_USE_64_BIT_INODE
__DARWIN_UNIX03