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.
In my opinion it's a bug: passing an empty string to DateFormatter should not return an unexpected random date; filed as Feedback FB14744080, hopefully to at least have a note added to the documentation if this behavior is by design.