I would recommend using two mods for this case. There's almost no performance penalty (voice start modulators are very fast) and you don't have to deal with edge cases (what if the delta sum goes beyond the normalized modulation range etc.)
I'll add it anyways (I didn't need it yet, but there may be some cases where it might come in handy).
I noticed a little (possible) bug with the envelope. When I set the release time to 0ms via a control on the interface the actual release knob of the envelope only goes down to 1ms
Cool stuff–currently handling variable RR in Kontakt is a bit of a nuisance. Right now it usually involves "blipping" a zone to see if it exists first. This can always be cached into a lookup table (that's what I did when scripting CineBrass, for example), but the problem is that the only way you can see if a zone exists in a group/velocity/pitch is by actually playing it. If the zone ID returns "-1", then you know there's no sample. It's inefficient because ideally you should be able to check mapping-related data directly through scripting.