I assume you are then using the microcontroller to control some higher function in a robot or something similar, otherwise I cannot see in what way you are expecting Mach to "control" the Arduino.
Mach puts out onlt step/direction pulses for axis and then can put out various on/off signals to control relays etc. As you say it can read on/off signals into the computer as well.
The control of spindle speedhas two different systems, step/dir (as in the axis control) and PWM - pulse wave modulation - which requires additional electronics.
If you use a breakout board on the LPT1 port, you can read the output signals directly (and drive TTL - and therefore a micro controller directly) with recourse to RS232.
Mach does use a USB output to drive the latest "smooth stepper" control card, but I do now know what protocol is used for the link.