A bit of update for someone who might be facing the same problem in the future.
If you want to delete a key in channel which have a reference layer then You should delete the key of original layer and that way the reference layer won't snap away from original one.
and if by any chance you have deleted reference layer's key then as suggested by synthsin above go to layer panel right click on reference layer select re-sync to original layer but it will remove any visibility setting you have set separately in any smart bone dial of reference layer.
if you have something like visibility of reference layer set on and off separately in a smart bone dial (like in my case in was body turn where I had set my visibility on and off few times) create a key after animating where you are having a problem by just simply clicking on that reference then on channel icon of the reference right click and select sync to original channel. It will re-sync only one channel to the original layer and it won't affect any visibility setting of reference layer.
And you should use above script suggested by Greenlaw which is made by Synthsin to prevent yourself from making any changes in reference layer.
Once again Thank you Wes and Greenlaw.
