Hi Nate,
Without knowing the history, as I'm at work and don't have time to study the whole thread.
If you have enabled the plugin version of Mach3s Modbus interface, you need to talk to the Modbus interface via Mach3 brains. So, your M6Start macro need to put data into user DROs, then you need to write a brain to read the User DRO and write it to a Modbus register.
To read Modbus data, you need to do the reverse. A brain reads the modbus data, puts it into a User DRO and then the M6Start macro reads it from there.
The other way to do it is to not use the Plugin Modbus interface, but the old legacy interface. Then you can read and write to this interface directly from the M6Start macro, using calls like Call SetModOutput (66,0)
I've done a number of toolchange interfaces using this method with the ModIO. Here is 1 example.
http://www.youtube.com/watch?v=YKb2g5xalEkCheers,
Peter.