Для NSDecimal вы можете использовать NSDecimalString с указанным языковым стандартом:
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
NSString *decimalString = NSDecimalString(&decimalValue, usLocale);
[usLocale release];
В стандарте США используется точка для десятичного разделителя, а не разделитель тысяч, поэтому я считаю, что вы получите тот формат, который вам нужен.
Как уже отмечали другие, для NSDecimalNumber вы можете использовать -descriptionWithLocale: метод с указанным выше языковым стандартом США. Это не теряет никакой точности.