Clicks when changing cross 0 is a good point. 
We actually have clicks in our current version when enabling key lock.
In the new version we have additional clicks when crossing 0 with the pitch slider. 

I think we should change our key lock / scaler change strategy:
Changing the scaler has a big effect in audio latency. If you have aggressive latency settings for maximum responsiveness, you may see a lot of buffer underflows if you switch to rubber band. (I can run on 1 ms without scaling) On the other Hand, if you have latency settings thats allows rubber band scaler for all decks and sampler, it does not care to save CPU by the linear scaler. (I cannot do this without underflows on my recent i5 Ultrabook at 84 ms buffer size and rubber band)    

We should try to avoid disturbing the party by buffer underflows due to to many decks at rubber band scaler!

For Mixxx 1.11 things are rater simple: Key lock on = sound torch / Key lock off = linear. 
Now, things are getting more complex.

IMHO it is best to remove the single key lock control and replace it by other controls which represents the real world:
1.) Rate control switch: 
sets the target for the rate control (pitch control) 
0: rate control actually controls the rate of a track: (pitch and tempo) 
1: rate control controls only the tempo, pitch is locked on the current pitch. 
This is the current keylock behavior with the change that the locked pitch might be different from 0, the original track key. 
2.) scaler switch:
0: linear only 
1: rubber band 
2: sound torch (have not measured the latency differences but there are significant differences, because I can enable keylock on all decks and Samples at 5 ms buffer size) 
3.) Keylock at original track key. 
0: pitch slider available
1: pitch slider locked at 0
Of cause we have to define dependencies according to the different use cases to be able to control this mass with a single control.