Hi Bob,
> Everything is working as desired except for disabling the transient map.
> Both C-g and q should disable the transient map and run the on-exit
> function I have defined.
Have you looked at the hydra package on ELPA? It's easy to do what you
describe with `defhydra'.