Не уверен, почему вы против синтаксического анализа, но если вы так противны ему, тогда используйте NSMutableString и вставьте ваши дефисы с соответствующим индексом.
NSMutableString * guid = [NSMutableString stringWithString: @"D21AB2C8E61F11E0ADEE20D04824019B"];
[guid insertString: @"-" atIndex: 8];
[guid insertString: @"-" atIndex: 13];
[guid insertString: @"-" atIndex: 18];
[guid insertString: @"-" atIndex: 23];
NSLog(@"GUID: %@", guid);
Для записи, я думаю, что лучше использовать строку NSString stringWithFormat и подстроки, но каждому свое.