Regardless of this empty string issue, I want to highlight another couple of gotchas with DateFormatter:
Setting a fixed date format without also pinning the locale to en_US_POSIX will result in obscure bugs that likely only show up once you’ve deployed your app. See QA1480 NSDateFormatter and Internet Dates for more background on this.
Parsing dates without times is another source of bugs that only show up in the field. See my Parsing Dates Without Times post on DevForums.