Sorry to say, but, none of the suggestions above worked.

I gave up on tweking the G31 command with other macros, I have spent too much time trying to figure out what's under the good to make it work.
Instead of reverse engineering or trying to patch the command, I just began writing my own probing macro from scratch, and so far, it has given me waaaaaaaay better results, with a few caveats that I wish could be solved as nicely as what I have done so far.
To summarize what I did with the G31 in the end, was just to use it as code to stop the machine from moving when the probe tripped. Unfortunately, after repeated tests, I found out that no matter how slow I did de probing, the machine would go about 0.3mm lower from the contact point. From what I tested, it seems that it has to do with how the G31 command is coded, it is either too slow or doesn't properly tell the machine to stop right when the Digitize LED is ON. It just keeps going lower after the probe has tripped.
Right now, I created a macro to issue a
Stop command (1003) when the Digitize LED goes ON, and it works amazingly well. The problem now with this stop command is that, I have to manually press
Start Cycle in order to get the file running again, and by pressing Start Cycle for some reason
it goes one line before it stopped, which is causing a
double reading on my file, which is surprisingly quite accurate, but not what it's intended.
So my question now is, is there a Gcode to stop movement without stopping file execution?I tried,
G1 F0, but it is not allowed,
Pause Feed Hold (1001), and
JogOff(Zaxis), but since it is not actually JOGGING it didn't do anything, I just did it to try it out.