As I understood it the network only buffers upto 10 packets for a device. So depending on how long your devices sleep and how fast the data is pushed to the device, you can easily overrun that buffer. If the underlying protocol does not have a retry mechanism (eg: udp) the data is lost.
The impact platform is not aware of this as this is handled by the telco network.
The ideal solution would be to use something like lwm2m and let the device request the firmware in boot sequence and let the device download the firmware from our platform … unfortunately this is not yet supported.
@afzal_m probably has some examples/best practices of how this can currently be achieved