Strategies for altering parameters range and interval

if the meaning or behavior of any parameter keeps changing arbitrarily, the DAWs job becomes literally impossible.

In the third approach described above I use the same strategy as @HowardAntares here, so the range itself is kept constant but its interpretation is changed.
I am still not sure this approach is safe and sane, and there could be some race conditions when loading presets or state, or some strange behavior with automation, etc.

unpopular suggestion: define a ‘clean’ simple set of parameters for your plugin, and don’t try to alter them at runtime.

That is a functionality I want to have in my plugin though…