kCCBMFontMaxChars = 0xffff; // 65k
Этого должно хватить для всех символов Юникода. Это, безусловно, работает для всех азиатских и кириллических языков. Использование памяти будет ровно 2 МБ.
Не беспокойтесь об идентификаторе, я думаю, что это смещения в массиве символов BMFont, а не индексы. Каждая запись 32 байта. 917632, деленное на 32, дает 28676, что, если это индекс, вписывается в диапазон символов Юникода.