Hi Bobby,
That Macro looks clean, I understand most of it, not sure what the 4120, 4202 and 4201 are, but I'm assuming that line means if the tool called is the tool that's already in the spindle, you skip down to line 500. The rest makes sense to me, you can dial in the #100 variable to be the height down to the rack... I'd put a tool in the spindle and move down over the pocket until a .005" feeler fits between the tool holder and top of pocket and see what that number turns out to be.
Nothing in the Macro is causing the move to machine home before taking off for the tool change, so that must be in V-carve, along with the drop in Z before you get to your first XY position. I suspect you might have something like "Return to safe Z after tool change" as an option in your software. I use Sheetcam and that's what it is called in there. I changed my post to not move from Z home (all the way up), until it reaches the first XY position. It might not be an issue with vacuum clamping, but a lot of times I have vises, length stops and all sorts of issues on my table that I don't want to slam a tool into as it's going from my tool change position back to cut the part.
Now if I can just find a suitable router, I can play with this macro too!
Brian Lamb
Lamb Tool Works, Custom tools for woodworkers
Equipment: Felder KF700 and AD741, Milltronics CNC Mill, Universal Laser X-600