I think I found an answer myself. In case anyone has the same wish: I've added the extra line osc.set_parameters(... to the code*, which sets the 'timbre' to 0 when the key is released (and keeps 'color' the same).
You can, if desired, replace the value 0, possibly by an attribute and/or an inlet to allow for variable release.
osc.set_parameters(__USAT((inlet_timbre+param_timbre)>>12,15),__USAT((inlet_color+param_color)>>12,15));
osc.set_pitch((64<<7)+((param_pitch + inlet_pitch)>>14));
bool strike = 0;
if (inlet_strike && !pstrike){
pstrike = 1;
strike = 1;
} else if (!inlet_strike) {
pstrike = 0;
osc.set_parameters(__USAT((0)>>12,15),__USAT((inlet_color+param_color)>>12,15));
}
osc.Render(&outlet_wave[0],BUFSIZE,strike);
*to change the code of this object, you first have to copy it and the included file brds_digital.h from the factory directory to your own objects directory and refresh. Then load and change that copy.
ps @thetechnobear: I tried your solution, but the old note will sound again once the envelope is triggered the next time, since it's still resonating. Reducing 'timbre' overall helps, but then the note will decay quickly even while the key is pressed, which is not what i want. Thanks anyway!