wcnrhelpdesk
There is no way to accomplish exactly what you want within osTicket itself. The only way is to delay the fetching but as you said if an email comes in right before the fetch is triggered it will still pick it up during the fetch (if it's within the fetch amount). The only other way is to (on top of delaying fetching) fetch a small number of emails each fetch. This way it should only pick up the oldest couple of emails which should've already been processed. However if you have a low influx of emails this won't work either.
The only way I can think of accomplishing this is on the mailserver side like have your scanning system only put the mail in the inbox when it's done scanning. OR actually now that I'm thinking about it you could configure a specific fetch folder and have the scanner move the mail from the inbox to the specific fetch folder when it's done. That way the only mail in the fetch folder is mail that has been scanned.
Cheers.