What method is used to update a player's active item? Not the UpdateActiveItem(uint)?
private void OnActiveItemChanged(BasePlayer player, Item oldItem, Item newItem){
if(newItem.info.shortname == "explosive.timed"){
player.UpdateActiveItem(oldItem.uid);
}
}