If you didn't say "When I move the z axis up or down it moves in the correct direction" I would say you just need to change the #define INVERT_Z_DIR true setting.
You may still want to do that. But the problem is you have conflicting data right now.
You may still want to do that. But the problem is you have conflicting data right now.