LOL!
You are beyond the realm of basic alarm knowledge now and crossing into the realm of automotive electronics, which is my honest career so I might be able to help.
Code hopping really isn't that complex. Lemme see if I can simplify it a little. First, your fob (remote) contains circuitry to GENERATE, STORE and TRANSMIT code. The alarm brain contains circuitry to GENERATE, RECEIVE, STORE, and VALIDATE this code. Now what makes code hopping possible between the brain and fobs is pseudo-random number generation, which is how a computer "picks" a random number. Both the brain and fob have pseudo-random number generators on-board. Each time the fob sends a command, the next pseudo-random number is generated and stored for the next transmission. Each time the brain receives a command, the next pseudo-random number is generated and stored for the next validation. The key to their operation is that each generator starts with the same base code, or "seed" and mathematically generates off that seed for subsequent coding. FYI - each time you learn a fob, you essentially learn the seed to the brain, and each brain can learn multiple seeds - the number of seeds it can learn is the number of fobs that can be used on the system (usually 4 in most modern alarms)
Now when the brain and fob receive and send the same number of times respectively, this results in synchronization or both having the same exact code. Now what you have been questioning is when the brain and fobs are no longer synchronized - i.e., have that same exact code. This is not a problem until you exceed 256 non-synchronized commands - e.g., 256 fob presses to a brain that's out of range. Here's where I'll probably loose you. When the brain receives a pseudo-random code that does not match the one it has stored, it will keep generating codes off the seed to compare the code it received to.
The number of codes calculated for comparison is bounded by the maximum of 1 data byte in transmitters of this class. Since there are 8 bits in a byte, you have 256 binary combinations (binary is a base-2 system so 2^8=256). So, the brain will generate up to next 256 pseudo-random codes to compare the code it received to. If it finds a match it will perform the command. If not, it will not respond and you will need to resynchronize the fob to the brain. So, unless you have a nervous twitch that keeps you pressing the fob buttons out of range, or you have a spare remote that never leaves that safe spot, you won't have a problem.
Now to answer your question about grabbing that code - it's a slim chance! Here's the math for DEI's 2^66 rolling codes for one of their brains that accepts 4 fobs:
(((2^8)*4))/(2^66)) = 1/(2^56) = 1/72,057,594,037,927,936
or in terms of probability, a one in 72 quadrillion chance that your code can be generated! That would take some time to roll through those possibilities! A grabber is useless because it will grab the present code, but that code immediately changes next command because of the math off the seed. A grabber cannot determine the seed.
Sorry if I totally lost you or baked a few brain cells...