Почему вы не используете setBool:forKey
?
[ appDefaults setBool: YES forKey: kShowHelp ];
EDIT
Хорошо, поскольку у вас есть словарь, вы должны использовать NSNumber для представления логических значений.
Пример
NSUserDefaults * defaults = [ NSUserDefaults standardUserDefaults ];
NSMutableDictionary * appDefaults = [ NSMutableDictionary dictionary ];
[ appDefaults setObject: [ NSNumber numberWithBool: YES ] forKey: kShowHelp ];
[ defaults registerDefaults: appDefaults ];
[ defaults synchronize ];
РЕДАКТИРОВАТЬ 2
Знаете ли вы, что вы также можете создать plist в комплекте вашего приложения и зарегистрировать его значения по умолчанию? Гораздо проще ИМХО.