it only stays 100mS even on active channels
It will stay "only" ~100ms on an active channel
only if that channel isn't currently carrying voice. If a channel is carrying voice frames in either slot, it will stay longer, looking for "interesting" group or unit addresses via LC PDUs (I presume you're referring to Full Link Control PDUs since those come in at superframe intervals - 360ms).
If neither slot is carrying voice frames (which can certainly be determined in less than 100ms), there is no reason to wait around for 360ms just to see if an LC PDU is received indicating "interesting" voice traffic. If there is no voice traffic at all, there certainly isn't any "interesting" voice traffic.
Examples (DMR sync detect time after squelch will vary):
Case 1: DMR sync detected, no voice present (just data on both slots):
* T+0: RF squelch open, start looking for DMR sync
* T+30: detect DMR sync, start looking for voice frames
* T+110: no voice frames - timeout, move on to next channel
Case 2: DMR sync detected, voice present:
* T+0: RF squelch open, start looking for DMR sync
* T+30: detect DMR sync, start looking for voice frames on either slot
* T+60: voice frames detected, start looking for LC
* wait for LC messages indicating "interesting" group or unit IDs on any slot where voice is active.
Putting the same frequency in 4 times will only help if a) the system sends non-voice data (i.e. data on both slots) for a while before sending voice frames and b) you're scanning lots of channels that break squelch and invoke their own timeouts. If (a) is not true (the system sends voice immediately), then the scanner will detect voice and will wait for the slow LC messages. If (b) is not true, then the scanner will get back around to that channel in time to catch the start of the voice transmission.
Watching a
CON+ system here, I'll see multiple instances of Case 1 on one frequency followed by Case 2 on another frequency. A typical sequence is:
F1, DMR sync, no voice
F2, no squelch
F3, no squelch
F1, DMR sync, no voice
F2, no squelch
F3. no squelch
... repeat ...
F3, no squelch
F1, DMR sync, no voice
F2, DMR sync, voice on slot 2
In the last 2 steps, the time between "giving up" on frequency 1 (F1) and detecting DMR voice on frequency 2 (F2) is 60ms. It then starts looking for interesting traffic on F2 - it gets an LC 241ms after detecting DMR voice on F2, decides it's "interesting" (I have a wildcard TGRP object programmed), and I start getting voice output.
If I'd put F1 in there 4 times, the scanner would have stayed on F1 for another ~300ms, looking for voice traffic that wasn't coming. It would have been more likely to miss [up to] 300ms of the voice traffic on F2.
Watching what the scanner is doing, it's not missing any traffic. If I enable another DMR "system" (really a few local DMR-MARC repeater frequencies programmed as another "trunked system"), I still don't miss any traffic.