Actually what I think Bomb is saying is that it is NOT causing it to leave play again, it is simply saying that as an already moribund attachment is currently moribund:discard pile, change the destination to :hand. Now I know you say it needs to have some form of "instead", "cancel" or "save" to be able to respond to this. But currently, without the word instead, it is still not attemping to remove an attachment from play a second time. It is changing it's moribund state.
"However, the "state" of a
Moribund card can be changed by an effect
that does not actually attempt to remove it
from play a second time."
It is also not "attempting to remove the card from play again" because then it would be more of an effect that would typically only work on a non-moribund card in the first place (such as the previously mentioned Meera who cannot "leave play to go moribund:shadows" if she has already been selected for "leave play to be moribund:dead." As his text only works after an attachment is "moribund:discard", I don't see the requirement of "instead."
I do understand there are previous templates in place, but they alter the destination before it is actually selected. Such as "if killed, instead put on bottom of deck." This card doesn't become moribund:dead and then switch to moribund:bottom of deck," it simply becomes moribund:bottom of deck. With the case of Griff, this is where the rule of changing states does apply, were it says after an attachment is moribund:discard, make it moribund:hand instead.