Not sure how Mach does it Ray as I have never had pulleys on my machines. What I can tell you though is about my lathe, it has 16 speeds of which eight are in the headstocks high range and the other 8 in the low range. The speeds within a range can be changed by Mach but to go between the ranges requires changing manually with a lever. What I have is two switches that tell Mach which way the lever is and in my code I have a M91 or M92 (Thats what the old control used) If I call a speed such as M92 S6 (6 equates to 1000RPM in high) if its in high gear the signal is seen by Mach and all is ok, if its in low range then Mach stops and gives me a warning.
I would think from Jims explanation above Mach is doing similar except its not looking at switches but rather seeing if the speed called can be set from the min and max of that pulley. Now how does Mach know what range you are in? well I suspect the first time you call a speed after starting Mach it will pop up a warning for you to check, if its fine you say so and off you go, from then on in its automic whether you get a warning or not, this would obviously happen every start of Mach.
Now after all this typing someone will come and tell me thats not the way it works but at least its kept me occupied for a few mins while waiting on the next batch of pieces to weld are being milled
Hood