OK, thanks Greg. So it looks like "Skip Subroutine Call If Busy" is quite important for subroutine priority VIs in a deterministic loop when the VI is sporadically used in some non-deterministic code part (e.g. to initalize a data buffer). Even if the VI is busy for just 1us it will wait 1ms, which would usually cause the current loop iteration to finish late.
Daniel