Could be your shift interupt switch failed. If the shift interrupt switch doesn't kill the engine while shifting, the dogs on the gears tend to lock in gear. Go back to the engine and find where the shift cables connect(should be on the stbd exhaust manifold). Look for the switch and you'll see it sits next to a fulcrum that 1 shift cable connects to. That fulcrum bracket should move easily and spring back to center easily. If it doesn't then pull it apart and free it up, the lubricate it. If it moves freely, the next step is to start the engine, let it idle, go back and move that fulcrum plate so it presses the interrupt switch, the engine should stall out or late model efi engines will just stumble a bit to a slower idle. If it doesn't then that switch has probably failed, and not cutting spark during shifting. If all that checks out, then you may need to adjust your cables, or replace the lower shift cable as they can get sticky over time, or just wear out and get so loose they stop shifting.