createDirectoryAtPath:attributes:
возвращает BOOL, поэтому код не будет выполняться, пока метод не создаст каталог и не вернется.
Я думаю, что эта конструкция ...
[NSString stringWithFormat:@"%@/%@/info.plist", DOCUMENTS_FOLDER, theTitle]
... скорее всего ваша проблема. Обычно это работает, но более надежный метод - использовать один из методов выделенного пути, например:
[NSString pathWithComponents:[NSArray arrayWithObjects:DOCUMENTS_FOLDER, theTitle,@"/info.plist",nil]]
Это повышает вероятность того, что вы получите правильный путь, особенно если вы только что изменили его.
Вы также должны зафиксировать логическое возвращение от обеих файловых операций, чтобы вы могли увидеть, какая из них не удалась.