I think I'm correct when I say that one loses steps in this situation. For example, if you are scaling from 0-9 to 0-99, you lose the ability to have the number 7, or 77, for example. It's less precise. If there is no way to do this within jitter (which there should be, imo!) then you're right about turning to the math. Maybe I should write a LUA object for this and gift it to the community.
You original message sounded as if you thought you were losing the values 256 to 359, which you're not.
Yes, you're losing granularity. OTOH, you're gaining the ability to store HSV values in a char matrix, which is not to be sneezed at.
Sorry if there was any misunderstanding.
I don't have time right now to check your patch, nor the Max docs, but I would double-check to see if you can't get jit.colorspace to work with float and/or double values. That will get you far more granularity than you can in any integer domain.