I was thinking that a good option would be that you always get the option to boot, unless an enemy is killed within 3 seconds (before and after) of the betrayal. That would be a way to tell if it was an accident because most of the time that there is an accidental betrayal, you still end up killing the enemy guy you were trying to. They could also make it that if you betray someone who is within 10 or maybe 20 feet of an enemy there would be no option to boot. But, if there are over 3 betrayals in the same game, the boot option overrides all these other variables. And one last rule, if someone betrays someone else in the last 5 seconds of a NON-SLAYER gametype, then there is never the option to boot. Because this never effects the game and everyone one does it at the end of a game.
There are a lot of ways the tell that it was most likely a accident. And, also tell if it is on purpose. At the moment, I really hate the booting system in Halo: Reach. I've been betrayed 5, yes 5 I counted (not an exaggeration), in a single game and not gotten the option to boot any of those times. But, when I get ticked off and betray them, I immediately get booted. Random is not the way to go with something as important and game changing as booting.