Well, you *can* use lower ms values, but they won´t work as intended, since the macro will already continue while the gun has not been switched fully yet.
In order to test the timing, i created the macro stated in my previous post which shoots exactly (up to) 16 bullets (when button is pressed). If i use lower values than 460 (like 220ms you mentioned) the macro doesnt empty the whole clip, i.e. a few bullets are left unfired (because it started clicking while the weapon wasn´t fully switched yet) until the macro starts firing again due to key pressed (=small pause in firing). Another way to test it is with a macro without repeat mode, so it stops when all commands have been done.
That way i was able to find the "real value" for weapon switching, at least for AN94->M9. Give it a try.
Drawback: if the M9 has already been chosen/switched, the macro waits 460ms before it starts firing....thats why i integrated a "jump to line" command at the end of the macro, so it skips the switching ms and instantly keeps firing the next clip.