Seguridad a un 79%.. 
Errores funcionales:
1.Se supone q los formularios q heredan de frmMantenimiento deben aparecer con todos los controles bloqueados hasta q se da clic en NUEVO, cual es el metodo que desbloquea/bloquea TODOS los controles (no solo txt)??
2.al solucionar el punto 1, CAMBIAR de lugar el codigo de ser necesario ya que el juego entre botones segun los permisos leidos desde la base es asi:
SI permiso -- boton en panel
c -- NUEVO,GUARDAR
r -- BUSCAR
u -- MODIFICAR
d -- ELIMINAR
boton tsbSalir siempre aparece en el panel
creo q si tienes la idea de lo q me refiero, en resumen es que 
el formulario debe aparecer con los botones segun los permisos pero estos estan enabled=false y estos cambian de valor segun en q boton se de clic.
ej: si clic NUEVO, habilita GUARDAR
si clic CONSULTAR habilita MODIFICAR y bloquea GUARDAR o como lo quieras ver con un if.. la cuestion es que los permisos estan enfocados en los botones asi que mejor programar segun el boton.
3. Porque FrmCierreCaja hereda la barra ?? si solo necesita de un boton y no sabria como controlar ese 'permiso'

P.D no voy a editar nada del codigo hasta el lunes para que no tengas problemas cambiando lo necesario.