Well, it works!
I ran the code above on some scrap, used the oldest 6mm tap i had just in case, had straight flutes and a taper lead but hey-ho...
Worked perfectly, the only odd thing was the fact that the spindle was running at the start, then when it hits the macro call it stops the spindle and restarts it, presumably in sync mode.
Its not worth messing with the post, if it was even possible as the tapping section does not call the M3, thats already done before it gets to tapping.
But it all worked and very nicely too