This may be of interest.
What happens if the device is out of range of the network? Messages are queued until the connection is back?
How often are messages generated?
Is the old message more important than the new data?
A guaranteed/confirmed uplink would require downlink from the network. This does not necessarily mean your application has recieved it from the network. Application level guarantees must occur at the application level. This would require the application to queue a response for the network to send to the device.
Can multiple message fit in a single uplink?
Maybe the application could request the missing data to fill the blanks.