It sounds like the microswitch for the Z axis home position is faulty.
On Haas machines when the machine homes the Z axis it moves UP slightly until it operates the microswitch, then stops and reverses direction until the switch releases, then it starts counting pulses from the encoder and keeps moving down until the "Z channel signal" is detected. The "Z channel signal" occurs only at a specific point during one rotation of the encoder and this gives the precise zero position for home.
If the microswitch is stuck in the activated position the machine will only go down without counting pulses until it hits the hard stop. If the microswitch does not operate correctly the machine will go up until it hits something hard. You need to find this microswitch and test it.
You can test the switch on the machine by going to the Diagnostics screen and just operating the switch by hand. If it is working you will see an entry in this screen change between 1 and 0. Sorry, I can't recall what the name is for this entry or which page it is on so you will just have to operate the switch while looking at each page and see if anything changes.
Once you have fixed any problem with the switch you may still find the machine does not zero. I mention above how the machine counts encoder pulses between the switch and the Z channel pulse. If this count is too large or too small the machine will stop with a Grid Offset alarm. This may happen if the motor was not replaced in exactly the same alignment to the ball screw. The Grid Offset is adjusted by Parameter 127 and as far as I can remember should be something like 3000 (about 2 or 4 millimeters travel).
An open mind is a virtue...so long as all the common sense has not leaked out.