For parameters that are automated you mean? Yeah, that's a bit more complicated though, because these are normalized to values in the [0.0, 1.0] range, and then cast from double to float and back. Still, the float type has a precision of 2^24, which should be just about enough for all ints in the [0, 16000000] range (because 16000000 < 2^24).
Note that this limitation (from the VST2 API) is not just for int parameters, but for any parameter type, including double. Also, 2^24 is the max precision because of the float type, but the host might use less precision internally for whatever reason.
BTW, it might be better (IMHO, YMMV) to use double for a parameter with such a wide range, and maybe also factor out 1k, e.g.:
Code:
InitDouble("", 4882.812, 0.0, 16000.0, 0.001, "k");