I set the z- to reverse in the home and limit's.
Before you did this, was it moving in the correct direction during jogging and when running code?
There could be a lot of reasons why the probing is going in the wrong direction.
Is your machine set up in mm's? Because the macro is in mm's.
When you run the macro, is the machine in G90 or G91 mode?
It's possible that noise is triggering the probe input as soon as you start the macro, and what you're seeing is the machine doing the final retract move.