When a request times out, the present code returns the value returned by the Wait on Notification VI, which contains the reply payload cluster with all the contents replaced with the respective data type defaults. For example, if the is a DBL control in the cluster, this is set to zero. This is the code I'm talking about:
My suggestion is instead to output the default values of the cluster as they have been defined in the TypeDef, like this:
where in the False case of the inner case structure the reply payload wire just passes through.
I find this useful when for example I want a VI that reads a sensor to output NaN if there is any kind of error, including a request timeout.
Let me know if this makes sense, or if you approach this use case in a different way.