I think what is happening is the client requests the download from the relay, the relay requests it from it’s parent, but it’s parent doesn’t already have it so that request fails. The parent relay gets the download and then notifies the child relay over UDP but the child relay doesn’t get it, so then it takes 10 minutes for it to check again.
I would recommend making sure that your BigFix Root Server and Relay caches are set to large enough values so they don’t roll over too quickly, but also if UDP isn’t working between relays, then setting _BESGather_Download_RetryMinutes
to 1 is the right fix, though there are other settings that should ALSO be adjusted to help in these situations.