Hi,
I think that the answer to your questions may depend on version of mach3 you have installed (bugs). Generally, mach3 honors motor tuning - you should not be able to jog faster than the motor is tuned(eg using shift key and cursors), but there were versions/configurations where people reported that mach3 jogs faster than tuned (v042.033 IIRC)
From my experience with v042.020: I was tuning servos for lowest possible following error, and there were few gcode samples that looked similar to your code (some shorter XY linear moves and arcs, then Z-axis only move, then longer XY move) where following error was doubled (in XY that I know of) somewhere around Z move. I had to reduce acceleration in motor tuning to get the machine to pass the test. What I haven't tried, and it may have helped, is inserting a G4 P0 before and/or after Z axis only move.
I've also experienced some problems with feed override above 100% and G1 moves at feed rates close to limit, where machine would try to move faster than tuned, but I'm not sure which version of mach3 I was using at that time, and I learned not to do that anymore
I couldn't make much sense from the code you've posted, but the G01 Z2.5 is to be executed at F500, same as helical arcs before that Z move and the linear move after that Z move - does it actually execute faster ?
HTH
Mihael