IDEA 1
Create some invisible tester units along with all the spawns (no art at all or collision) which are unable to be attacked and serve the sole purpose of going to the end desternation.
These units will happilly pass through all the chaos and combat and will eventually reach the end desternation where they get reycled or whatever. They also move slower than normal units so would be more easy to juggle However if juggiling occours they will start to take a stupidly long time to reach the end desternation. Further more as more of them are created, they will beggin to cluster towards each other. Additionally they may start arriving out of order (due to juggling leaks as the player can not tell where they are). If enough of these abnormalities occur, it is obvious he is juggling the units.
In normal opperating conditions. The rate they are comming in should equal the rate they are comming out and in the same order they are created. Yes when mazes are extended they may take slightly longer but the order will still be the same. Also slight maze alterations will register only 1-2 faults where as major juggling will start to register a lot of faults (out of order or failure to arrive at all). In that case you should probably increase the speed of the spawns and test units to something stupid (like 50, SC2 can handle such stupid speeds) and freeze their sales abilities until all faults are fixed (all testers arrive). During this time they will probably leak like a scive so do not expect many games will actually continue after this point.
IDEA 2
This is my best and final idea.
I believe blizzard created a pathing cost native which returns a function of pathing distance to the target point. Units going through a maze should always be losing pathing distance to their desternation (waypoint or end) with the minor exception of maze extensions (each adds a very minor quantity to the units walk distance). When someone juggles, the distance to the desternation is greatly increased (as it has to walk to the other side of the maze) so the pathing cost will increase dramatically.
All you need to do is keep track of some units pathing cost to desternation every time a building is sold or created. No need for all units, just the strongest and toughest units currently spawned. Selling will only ever measure decreases so use it to record (as its the first parte of a juggle since they can not block). Then when they build a tower you compare the cost change. A maze extension will increase the distance by a small amount (usually undetectable due to the time passed and the unit being in motion). A juggle will dramatically incrrease the pathing cost due to the distance increase.
Once you detect a sudden large pathing increase, you have detected a juggle attempt. This gives you many options of varying levels of amusements. Heres a short list hehe.
1. Start to mega buff all the spawns being juggled or even future spawns. Reheal them, increase armor, more maximum HP or even boost speed stacking infinitly as they perform more juggles. Eventually stuff will go so fast and be so crazy that they will be forced to leak.
2. The fair and professional approach of just canceling their new tower (preventitive, they are not allowed to carry out an action which will regiser a juggling aleart).
3. Mega penaltive where random towers are sold until the pathing cost is dramatically decreased.
4. Teleport all the units immediatly to their desternation.
I advise 2 as it is the most fair and does not involve abnormal game behaviour (no one expects the other stuff to happen).
To prevent the juggle system registering when towers are being replaced in a maze, you may wish to create a tower morph system allowing you to replace towers without rebuilding them (morph them to the tower you want instead).