You'd be wrong. However, most registries prevent modification, the only one I know of that allows removal is the IRecipe registry. Also there used to be a substitution alias system for Items and Blocks, however I knew there where some problems with it. Not sure if they worked the kinks out or just threw it in the trash to be started again.
The solution to your problem is simple. Use this
/***
* Raised when the SoundManager tries to play a normal sound.
*
* If you return null from this function it will prevent the sound from being played,
* you can return a different entry if you want to change the sound being played.
*/
public class PlaySoundEvent extends SoundEvent