It's possible I've done it before. Maybe Mach4 just doesn't know which axis is selected.
You can use the Hicon plugin to define IO for MPG's 0-2.
Use that to define an input for the axis selection for whatever MPG encoder you want for what axis.
So if you want Mach4 MPG0 to control the x-axis then define an input for that axis in the HiCON plugin config.
OR
If you are comfortable with LUA scripting then open the screen load function in the editor and you can hard code the axes for the MPG in there if you don't want to use an input to control the axis selection.
-- the input to the mcMpgSetAxis func is: inst, mpg encoder#, axis#
mc.mcMpgSetAxis(inst, 0, 0) -- this sets MPG 0 to axis 0
mc.mcMpgSetAxis(inst, 1, 2) -- this sets MPG 1 to axis 2
mc.mcMpgSetAxis(inst, 2, 1) -- this sets MPG 2 to axis 1