You have a lot of small two axis moves. I will assume that the mechanical accuracy of the machine is adequate for what you want to do.
To check the Z, you may want to write a small subroutine with the equivilant amount of Z moves and see overall how well it does the movements.
You need a adequate controller which can drive the motors such that acceleration and velocity desired can be done. So lower the accel and velocity
and see what happens.
It is very difficult to find where you are skipping when doing profile work since you can have missed steps, never hear it, and can't replicate it.
Just make sure that all the usual stuff is not the culprit first.
RICH