Si el problema reside en que cuando pulsas "b" se "tira" la mt que tengas.. Se me ocurre una solucion:
Y es quitar lo de que pulses "b" se quite xD
Busca en pa rutina cuando en algun registro se cargue el i/o las teclas y lo compare si es b que pase algo y ya esta. Quitas esa parte y solucionado.
De todas maneras para que quieres omitir un ataque infinito?
En cuyo caso quieras que siga habiendo ese efecto tienes que seguir esa rutina y cuando se haga un sub registro, #0x1 lo borras.
(Aunque claro esto esta mal, ya que entonces todos los items serian infinitos pero bue..)