Millis Function in Due

  SysTick->CTRL  &= ~SysTick_CTRL_ENABLE_Msk;

Would turn off systick interrupts, while still leaving it counting.

  SysTick->CTRL  |= SysTick_CTRL_ENABLE_Msk;

Would turn it back on.

It will still reload every millisecond, so while the interrupts are turned off, micros() probably will not be accurate for more than 1ms...

It cannot be true that micros() is updated only every 1ms, you can easily try out yourself and see that it counts with 1us resolution.

micros() does math using the current millisecond time (increment every millisecond, by an interrupt), AND the current value of the SysTick count (decrements every clock cycle.) Something like

   return millis*1000 + (84000-SysTick->VAL)*(1/84000000);

(More complicated than that because reasons.)
If you're using micros() for timing and the SysTick counter has wrapped around more than once, you won't get the right value. It looks like the code might handle one wrap OK...