Top 5 Reasons BackMagic might be misbehaving...
1. Could you have neglected to assign one of your tabs an object name?
2. Have you forgotten to place our listening field (the first repetition of zz.BackMagic.cr) on one of your tabs.
3. Are the repetitions of zz.BackMagic.cr you've placed on your layout from the "current table"? (Or from a related table in the current file if using the separation model?)
4. Is the field zz.BackMagic.cr defined to return the type "container" and is it an unstored calc?
5. Could your scripts be calling an Adjust Window script step before navigating to your final tab/destination in a script? (This can cause the adjusted location to be recorded as its own destination in the back stack.)
6. Are the parameters of your custom functions in the same order as the parameters in the original BackMagic functions?