Все, вероятно, очень просто.
выражение 1000.0/(sec+1) может при преобразовании в к-то момент дать очень большую строку(маленькое число) или наоборот, деление на ноль.
если приемная строка мала - будут проблемы. REAL_TO_WORD - сильно ограничивает диапазон изменений и доп. защищает от результата деления на ноль.
К сожалению, штатные функции ХХХ_TO_STRING() очень ограниченны.